web-dev-qa-db-fra.com

Tomcat servant du contenu statique avec des listes de répertoires

Tomcat 7 est configuré pour servir du contenu statique à partir d'un répertoire:

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

Ceci est disponible sur localhost:8080/projectA/. Est-il possible d'activer en quelque sorte les listes de répertoires pour ce contexte?

Je sais qu'il est possible de faire cela avec Apache devant Tomcat, mais ce n'est pas ce que je recherche.

5
milan

Convertissez votre répertoire /var/projectA/static en une application simple:

  • créer un répertoire WEB-INF/
  • dans WEB-INF/ créez le fichier web.xml avec ce contenu:
<?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>

De cette façon, la liste de répertoires n’est active que pour le contexte spécifié et non globale.

4
Christian