默认状况下,因为安全性的思考,Tomcat是不让列出目录下的下的文件的。然而,在特定的场景下,你可能又须要用到这一性能。

上面是步骤:

1. 配置web.xml

文件地位:%tomcat_home%/conf/
tomcat 的web.xml 配置文件中有一个属性值 listing ,这个属性值是管制是否展现虚拟目录;
默认配置是 false,即不对外展现文件虚拟目录
咱们将它改成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>             <!-- 这个默认是false,改成 true -->        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>

2. 配置 server.xml

文件地位:%tomcat_home%/conf/
减少配置URIEncoding="utf-8"。目标是让中文能显示失常

<Connector port="8080" protocol="HTTP/1.1"                  connectionTimeout="20000"                     URIEncoding="utf-8" /> 

3. 重启tomcat

# 可能你有其余启运行tomcat命令,不肯定用上面这句$ systemctl restart tomcat.service
# 启动胜利后,可查到tomcat过程$ ps -ef|grep tomcat

4. 查看成果

胜利把文件和文件夹列出来。

5. 可能存在的问题

5.1 重启后不失效,报404

  1. 可能是用户权限问题。

如果你是应用 下载-批改-删除-上传 的形式进行配置文件的,请查看文件的用户权限是否受限
例如:文件是由root新增,但原文件用户和用户组却是www www
将root变更为www用户组权限的办法:$ chowm www:www web.xml