默认状况下,因为安全性的思考,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
- 可能是用户权限问题。
如果你是应用 下载 - 批改 - 删除 - 上传
的形式进行配置文件的,请查看文件的用户权限是否受限
例如:文件是由 root
新增,但原文件用户和用户组却是 www
www
将 root 变更为 www 用户组权限的办法:$ chowm www:www web.xml