gpt4 book ai didi

java - 在 Jetty 服务器上,如果您的 servlet 仅映射到特定的 url 模式,如何禁用目录列表?

转载 作者:行者123 更新时间:2023-12-02 04:13:54 25 4
gpt4 key购买 nike

我有一个由我的 Jetty 服务器部署的 .war 应用程序。当我访问它时,我可以通过导航到 localhost/MyServlet/folder 来查看目录结构。我尝试在 web.xml 文件中包含以下内容:

<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.something.path.my.class.Servlet</servlet-class>
<init-param>
<param-name>dirAllowed</param-name>
<param-value>false</param-value>
</init-param>
</servlet>

当我重建 .war 并运行它时,我仍然可以在浏览器中访问目录结构。这是我所期望的,因为我还在 web.xml 中定义了以下内容:

<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

所以我知道这不是 servlet 造成的,而是 Jetty 正在处理和返回这些目录结构。然而,我找不到任何方法可以在 Jetty 内关闭此功能。有谁知道解决这个问题的方法吗?

最佳答案

我最终发现我可以在我的 WebApp 本身的代码库上设置它。当在我的 java 代码中设置 Web 应用程序上下文时,我可以简单地将其设置为启动参数:

WebAppContext webApp = new WebAppContext();
webApp.setInitParameter("org.eclipse.jetty.servlet.Default.dirAllowed", "false");

关于java - 在 Jetty 服务器上,如果您的 servlet 仅映射到特定的 url 模式,如何禁用目录列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33527587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com