默认状况下,因为安全性的思考,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