Abrufen von Dateipfaden aus dem WAR/WEB-INF-Ordner
In App Engine-Projekten Zugriff auf Dateien, die im WAR/WEB-INF-Ordner gespeichert sind Ordner erfordert einen bestimmten Ansatz. In diesem Artikel werden zwei Methoden zum Erstellen gültiger Dateipfade zu Ressourcen untersucht, die sich in diesem Verzeichnis befinden.
Methode 1: Verwendung von getRealPath()
Diese Methode ist anwendbar, wenn die WAR-Datei wird zur Laufzeit in eine Reihe einzelner Dateien expandiert. Um den vollständigen Systempfad zur gewünschten Ressource zu erhalten, verwenden Sie den folgenden Code:
ServletContext context = getContext(); String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");
Methode 2: Verwenden von getResource()
Diese Methode ist universell kompatibel mit Jeder Servlet-Container, unabhängig davon, ob die WAR-Datei erweitert ist. Es bietet Zugriff auf die Ressourcen-URL oder den Eingabestream:
ServletContext context = getContext(); URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt"); InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt");
Der getResource()-Ansatz ist vielseitiger und zuverlässiger in allen Bereitstellungsszenarien.
Hinweis zu getContext()
Die getContext()-Methode ist ein Implementierungsdetail, das in Ihrer Anwendung bereitgestellt werden muss. In JSP-Seiten ist es als Kontextfeld verfügbar, während es in Servlets aus der während der Initialisierung übergebenen ServletConfig abgerufen werden kann.
Durch die Verwendung dieser Techniken können Entwickler effektiv auf Dateien zugreifen, die im WAR/WEB gespeichert sind. INF-Verzeichnis, sodass sie verschiedene Ressourcenverwaltungsaufgaben problemlos erledigen können.
Das obige ist der detaillierte Inhalt vonWie rufe ich Dateipfade aus dem WAR/WEB-INF-Ordner in App Engine ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!