如何列出tomcat上文件夹中的所有文件?
2022-09-01 07:15:38
我在tomcat上有一个包含许多excel文档的文件夹,我希望当我在浏览器中访问该文件夹的URL时,这些文件可用(例如http;//localhost:8080/ myfolder)
在我尝试访问文件夹的那一刻,我得到一个404错误。如果我尝试访问该文件夹中的文件,它可以工作。
我在tomcat上有一个包含许多excel文档的文件夹,我希望当我在浏览器中访问该文件夹的URL时,这些文件可用(例如http;//localhost:8080/ myfolder)
在我尝试访问文件夹的那一刻,我得到一个404错误。如果我尝试访问该文件夹中的文件,它可以工作。
默认情况下,Tomcat 配置为不显示目录列表。您需要打开Tomcat自己的文件(在Tomcat安装文件夹中查找),搜索条目,然后将其初始化参数从DefaultServlet
/conf/web.xml
<servlet>
DefaultServlet
listings
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
自
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
请记住,这会影响 Web 应用的所有文件夹。如果你只想为一个单独的文件夹启用它,你必须自己编写一些代码,这些代码在servlet端的API的帮助下完成工作,以收集文件,并在JSP端收集一堆HTML / CSS,以整齐的方式呈现它。Servlet
java.io.File
您也可以从给定的URL模式开始启用它。只需将 servlet 和 servlet 映射添加到您的应用程序 Web.xml
<servlet>
<!-- List files in /ws-definitions -->
<servlet-name>ListWsDefinitions</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>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ListWsDefinitions</servlet-name>
<url-pattern>/ws-definitions/*</url-pattern>
</servlet-mapping>
在此示例中,“/ws-definitions/”下面的目录将被侦听。