Heim > Java > javaLernprogramm > Wie greife ich mit ServletContext auf Ressourcen im WAR/WEB-INF-Verzeichnis zu?

Wie greife ich mit ServletContext auf Ressourcen im WAR/WEB-INF-Verzeichnis zu?

Patricia Arquette
Freigeben: 2024-11-13 08:49:02
Original
710 Leute haben es durchsucht

How to Access Resources in the WAR/WEB-INF Directory with ServletContext?

Zugriff auf Ressourcen im WAR/WEB-INF-Verzeichnis mit ServletContext

Einführung:

Java-Webanwendungen speichern häufig wichtige Ressourcen im WAR/WEB-INF-Verzeichnis. Um auf diese Ressourcen zuzugreifen, können Entwickler die ServletContext-API nutzen.

Frage:

Wie können Sie den richtigen Pfad zu einer Ressource erstellen, die sich im WAR/WEB-INF befindet Ordner, wie z "/war/WEB-INF/test/foo.txt"?

Antwort:

Es gibt zwei Hauptmethoden zum Erstellen des Pfads zu Ressourcen im WAR/ WEB-INF-Verzeichnis mit ServletContext:

1. getRealPath()-Methode:

Wenn die WAR-Datei in eine Reihe von Dateien erweitert wurde, können Sie die getRealPath()-Methode verwenden:

ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
Nach dem Login kopieren

Dadurch wird die vollständige zurückgegeben Systempfad zur Ressource.

2. Methoden getResource() oder getResourceAsStream():

Diese Methoden können unabhängig davon verwendet werden, ob die WAR-Datei erweitert ist oder nicht:

ServletContext context = getContext();
URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt"); // for URL
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt"); // for input stream
Nach dem Login kopieren

Zusätzliche Hinweise:

  • Die im Beispielcode erwähnte Methode getContext() ist anwendungsspezifisch. In JSP-Seiten ist es als „Kontext“ verfügbar, während es in Servlets während der Initialisierung von der ServletConfig abgerufen wird.
  • Die Methode getRealPath() funktioniert möglicherweise nicht, wenn der Servlet-Container die WAR-Datei nicht extrahiert.
  • Die Methoden getResource() und getResourceAsStream() sind zuverlässig und funktionieren in allen Bereitstellungsszenarien.

Das obige ist der detaillierte Inhalt vonWie greife ich mit ServletContext auf Ressourcen im WAR/WEB-INF-Verzeichnis zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage