6

I have Tomcat 7 configured to serve static contents from a directory:

<Host appBase="webapps" name="localhost">
    ...
    <Context docBase="/var/projectA/static" path="/projectA/" />
</Host>

This is available at localhost:8080/projectA/. Is it possible to somehow enable directory listings for this context?

I know it's possible to do this with Apache in front of Tomcat, but that's not what I'm looking for.

milan
  • 161
  • 1
  • 1
  • 5

1 Answers1

4

Convert your directory /var/projectA/static to a simple application:

  • create a directory WEB-INF/
  • in WEB-INF/ create the file web.xml with this content:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app>
<servlet>
    <servlet-name>DirectoryListing</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping> <servlet-name>DirectoryListing</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>

This way the directory listing is only active for your specified context and not global.

Zistoloen
  • 10,056
  • 6
  • 36
  • 59
Christian
  • 141
  • 2