Java 是否有一种与容器无关的方法来启用目录列表?

Java 是否有一种与容器无关的方法来启用目录列表?,java,tomcat,web-applications,jetty,Java,Tomcat,Web Applications,Jetty,我有一个包含一些静态内容的web应用程序。我想让它可以浏览。我使用Jetty在本地环境中测试web应用程序,并在使用Tomcat的生产环境中部署它。请注意,在Tomcat中还部署了许多其他Web应用程序,我不想干扰它们的设置 似乎我可以通过更改Tomcat的默认servlet设置来实现: <servlet> <servlet-name>listing</servlet-name> <servlet-class>or

我有一个包含一些静态内容的web应用程序。我想让它可以浏览。我使用Jetty在本地环境中测试web应用程序,并在使用Tomcat的生产环境中部署它。请注意,在Tomcat中还部署了许多其他Web应用程序,我不想干扰它们的设置

似乎我可以通过更改Tomcat的默认servlet设置来实现:

   <servlet>
       <servlet-name>listing</servlet-name>
       <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
       <init-param>
           <param-name>debug</param-name>
           <param-value>0</param-value>
       </init-param>
       <init-param>
           <param-name>listings</param-name>
           <param-value>true</param-value>
       </init-param>
       <load-on-startup>1</load-on-startup>
   </servlet>

表册
org.apache.catalina.servlets.DefaultServlet
调试
0
列表
真的
1.
但在Jetty环境中运行时会出现问题,因为不存在
org.apache.catalina.servlets.DefaultServlet


所以问题来了:有没有一种方法可以同时为Jetty和Tomcat启用目录列表?

是的,不要使用容器的默认servlet,创建自己的servlet,并根据需要进行注册


[编辑]默认servlet很方便,仅此而已

因为您是Jetty的开发人员之一,您能否说明如何独立于容器以编程方式完成此操作?你知道有什么可以检查的例子吗?我的观点是Jetty和Tomcat都有这些DefaultServlet只是为了方便起见,你可以通过编写自己的servlet来提供静态内容,甚至可以获取Jetty的默认servlet,将其拉入包空间,解决任何依赖关系并根据需要进行调整,从而实现相同的行为。原始问题中的servlet类将使用新的servlet更新。