有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jetty使用Jetty默认servlet是否安全

我使用jetty 9.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/文件夹中获取数据吗


共 (1) 个答案

  1. # 1 楼答案

    是的,可以使用任意多的DefaultServlet实例

    只需注意实际的“默认值”与其他值的行为。还有它对你的ServletContext意味着什么,以及它能看到什么

    请参阅prior answer

    例如:如果您使用的是传统的webapp,那么“默认值”(这是Jetty创建的<servlet-name>default</servlet-name>实例,作为Servlet规范的一部分)将使用webapp本身作为Resource Base

    任何额外的DefaultServlet实例都不会参与ServletContext规则。如果有额外的<url-pattern>段,则需要知道pathInfoOnlyinit参数