2014-02-13 63 views
1

我目前在我的WAR中的web.xml中使用此設置,以確保無論容器是否正確配置,應用程序本身都不會列出文件/文件夾直接通過網絡:wildfly/undertow - 如何禁用文件夾/文件列表

<servlet> 
     <servlet-name>DefaultNoListing</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>false</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
.... 
    <servlet-mapping> 
     <servlet-name>DefaultNoListing</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

問題:如何才能部署到Wildfly /暗潮時,使得每個應用程序可以確保沒有文件夾/文件,而不管上市如何配置服務器做同樣的事情?

-D

+0

這看起來像一個增強,我們應該加入到子系統。 你可以爲它裝箱jira https://issues.jboss.org/browse/WFLY – ctomc

回答

1

目前默認的servlet根本不會在暗潮/ WildFly支持上市文件夾。

這是我們在執行時錯過的東西。

我爲此創建了https://issues.jboss.org/browse/UNDERTOW-195

一旦我們把它實現,你就可以作爲你現在要做的只是類名同樣配置它是

io.undertow.servlet.handlers.DefaultServlet 
3

作爲一個更新,此功能是現在實施,將是WildFly 8.0的一部分。 1

您可以修改默認的servlet的行爲與配置是這樣的:

<servlet> 
     <servlet-name>default</servlet-name> 
     <servlet-class>io.undertow.servlet.handlers.DefaultServlet</servlet-class> 
     <init-param> 
      <param-name>directory-listing</param-name> 
      <param-value>true</param-value> 
     </init-param> 
</servlet> 

這將覆蓋配置默認的Servlet,將使目錄 清單。 默認情況下,列表被禁用。

+2

如果我將它設置爲false,它不起作用。我仍然可以遍歷我的目錄。 – vhunsicker

相關問題