ServletContext.getRealPath("/") Bedeutung und Verwendung
Einführung
In der Servlet-Programmierung gilt ServletContext.getRealPath( ) konvertiert einen Webinhaltspfad (den Pfad in der erweiterten WAR-Ordnerstruktur) in ein absolutes Festplattendateisystem Pfad.
Verwendung von „/“ in getRealPath()
Das an getRealPath() übergebene „/“ stellt das Webinhaltsstammverzeichnis oder das Verzeichnis dar, in dem sich alle Webinhalte befinden -zugänglicher Inhalt wird gefunden. Es entspricht dem Ordner /web in der folgenden Projektstruktur:
YourWebProject
|-- src
|-- web
|-- META-INF
|-- WEB-INF
|-- index.jsp
|-- login.jsp
Verwendungsszenarien
Wann sollten Sie getRealPath("/") verwenden?
-
Keine sinnvollen Anwendungsfälle: Vermeiden Sie in den meisten Fällen die Verwendung von getRealPath() Szenarien. Es gibt tragbarere und zuverlässigere Alternativen.
Alternativen zu getRealPath()
-
Webressourcen lesen:Verwenden Sie ServletContext. getResourceAsStream() stattdessen für einen Eingabestream des Ressource.
-
Webressourcen auflisten: Verwenden Sie ServletContext.getResourcePaths() für eine Liste aller verfügbaren Webressourcenpfade.
-
Hochgeladene Dateien speichern oder temporäre Dateien erstellen : Weitere Informationen finden Sie im Abschnitt „Siehe auch“. unten.
Vorsichtsmaßnahmen
-
Verlorene Änderungen:Änderungen am Festplattendateisystempfad, der von getRealPath() erhalten wird, werden gehen bei der WAR-Neubereitstellung verloren, da sie nicht im WAR gespeichert werden Datei.
-
Unzuverlässigkeit: getRealPath() gibt möglicherweise Null oder unerwartete Pfade zurück, wenn der Server nicht für die Erweiterung der WAR-Datei auf das Festplattendateisystem konfiguriert ist.
Das obige ist der detaillierte Inhalt vonWas ist die Bedeutung und Verwendung von ServletContext.getRealPath('/')?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme: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