我使用jetty9.3.11,在我的web.xml中,我有下面的代码来使用jetty默认servlet来提供静态内容(图像、txt文件等)。
<servlet>
<servlet-name>DefaultServlet</servlet-name>
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
<init-param>
<param-name>resourceBase</param-name>
<param-value>/home/User/data/</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>DefaultServlet</servlet-name>
<url-pattern>/static/*</url-pattern>
</servlet-mapping>以这种方式使用jetty的缺省servlet安全吗?我的意思是-我能确定没有人会从/home/User/,/home/User/temp/,/home/文件夹中获取数据吗?
发布于 2016-08-29 12:43:03
是的,可以使用任意数量的DefaultServlet实例。
只需注意实际的“默认”DefaultServlet相对于其他“默认”的行为。还有它对你的ServletContext意味着什么以及它能看到什么。
获取信息的prior answer。
如果您使用的是传统的webapp,那么“默认”(这是Jetty作为Servlet规范的一部分创建的<servlet-name>default</servlet-name>实例)将使用webapp本身作为Resource Base。
任何其他DefaultServlet实例都不会参与ServletContext规则。如果您有额外的<url-pattern>段,您将希望了解pathInfoOnly init-param。
https://stackoverflow.com/questions/39192114
复制相似问题