Ich arbeite an einem dynamischen Web-Projekt in Eclipse mit Tomcat 7. Alle meine HTML-, CSS- und Javascript-Dateien befinden sich im Ordner WebContent im Eclipse-Arbeitsbereich. Alle Java-Dateien befinden sich im Ordner src. Alles funktioniert gut für einfache Programme. Aber jetzt möchte ich eine Textdatei aus den Java-Programmen lesen. Ich bin mir nicht sicher, wo ich die Textdatei in den Eclipse-Arbeitsbereich legen soll, damit sie korrekt in das Tomcat-Webapps-Verzeichnis innerhalb des ./metadata-Ordners von Eclipse eingesetzt wird.Wo können Textdateien mit Tomcat in ein Eclipse Dynamic Web Project eingefügt werden?
Antwort
Sie können die ServletContext.getResourceAsStream() API verwenden.
Ein Beispiel kann bei this link gefunden werden. Es schlägt vor, dass die Datei im Verzeichnis/WEB-INF gespeichert werden sollte
Legen Sie Ihre Dateien in Webroot-Ordner oder außerhalb Webroot-Ordner überall dort, wo es möglich ist, Dateien zu lesen.
innerhalb Klassen Ordner wegen Standard Classpath für Webapplikation gut
Wie kann ich mit relativen Pfadnamen auf die Datei zugreifen? –
Geben Sie direkt Ihren Dateinamen ein, nehmen Sie an, dass sich die Datei hi.txt im Ordner casees befindet und "hi.txt" relativ zum Ordner für interne Klassen. –
das funktioniert nicht –
ich die Datei in einer separaten Klasse verwenden möchten, die ich aus dem Servlet –
'URL url = this.getClass() aufgerufen wird. getResource ("/stop.txt"); 'gibt null zurück, obwohl meine Datei' stop.txt' im WEB-INF-Ordner vorhanden ist –