zidong 发表于 2017-1-21 10:15:00

让Tomcat支持目录浏览

  默认情况下,由于安全性的考虑,Tomcat是不让列出目录下的下的文件的。但是有时候可能一个团队内部要共享一些资料,又需要用到这一功能。
  那么如何打开这一功能呢?其实很简单。
  找到%tomcat_home%/conf下的web.xml文件,找到:

<servlet>
<servlet-name>default</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>
  将上面的listings的值改成true,即:

<servlet>
<servlet-name>default</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>
  然后重启Tomcat就OK啦。(ps:用Eclipse集成Tomcat打开tomcat是没用的,404)
  当然,你得明白一点,只有在目录下找不到默认的index文件时才会列出。如果目录下有index文件,当然显示的是index文件的内容,而不会列出目录下的文件。
  当然,这样还有一个问题,就是文件名是中文的话,点击是会报404的,也没法查看和下载。
  可以这样修改:
  找到%tomcat_home%/conf/下的server.xml,找到:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
  添加URIEncoding="utf-8",即:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="utf-8"
redirectPort="8443" />
  这样就OK啦。
  

 
页: [1]
查看完整版本: 让Tomcat支持目录浏览