让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啦。



 

猜你喜欢

转载自luckystar2008.iteye.com/blog/1912659