Tomcat directory Listing ausserhalb webapps

tomasino

Grünschnabel
Hallo,

ich möchte mit Tomcat 5.5 ein directory listing erzeugen.

Wie kann ich den tomcat dazu bewegen, dass er mir beispielsweise ein directoryListing von c:\ anzeigt und nicht nur ein Verzeichniss inerhalb meiner WebApp?


Beispiel meiner web.xml,
diese zeigt mir unter http://localhost:8080/sample/test
ein Directory Listing für c:\tomcat...\webapps\sample\test an

ich möchte die Dateien von c:\ sehen, wie stelle ich das an?

Schon mal Danke im Voraus!
Grüße Tomi

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">

<display-name>Hello, World Application</display-name>
<description>
This is a simple web application with a source code organization
based on the recommendations of the Application Developer's Guide.
</description>

<servlet>
<servlet-name>my_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>

</init-param>
<load-on-startup>1</load-on-startup>
</servlet>


<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>mypackage.Hello</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>my_default</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>



</web-app>
 
Hallo,
soweit ich weiß, hat Tomcat gar keinen Zugriff nach außen. Du kannst es aber mit Java programmieren.
Tomcat startet ein Servlet, der dann eine Instanz der Klasse ShowFiles bildet.
Die Klasse ShowFiles hat eine public Methode show(String pfad). Als pfad übergibts du halt den kompletten Pfad zu dem Ordner, Inhalt dessen du anzeigen möchtest.

In der Methode gibt's dann so was.
Code:
File f = new File(pfad);
File[] files = f.listFiles();

nun hast du jedes File oder Unterordner als files in der Hand.
So kannst du dann die Datei- und Ordnernamen ausgeben:
Code:
for(int i=0;i<files.length;i++)
{
     String fileName = files[i].getName();
     System.out.println("Filename: "+fileName);
}



Hoffe, ich habe die Frage beantwortet.
 
Zurück