Der ServletContext#getRealPath( )-Methode übersetzt einen Webinhaltspfad (den Pfad in der erweiterten WAR-Ordnerstruktur im Festplattendateisystem des Servers) in eine Absoluter Dateisystempfad auf der Festplatte.
Das an getRealPath() übergebene „/“ stellt das Stammverzeichnis des Webinhalts dar, den Ordner /web in der folgenden Projektstruktur:
|-- src<br> | :<br> |<br> |-- web<br> | |-- META-INF<br> | | `-- MANIFEST.MF<br> | |-- WEB-INF<br> | | `-- web.xml<br> | |-- index.jsp<br> | `-- login.jsp<br> : <br>
Somit gibt getRealPath("/") den absoluten Dateisystempfad des /web-Ordners zurück Die erweiterte WAR-Datei des Projekts.
Vermeiden Sie die Verwendung von getRealPath(), da es portablere Lösungen gibt für:
Änderungen an Dateien, in die geschrieben wird Der von getRealPath() zurückgegebene Pfad geht bei WAR verloren redeployment.
getRealPath() geht davon aus, dass die WAR-Datei auf das Festplattendateisystem erweitert wird, was nicht immer der Fall ist. In solchen Szenarien kann getRealPath() null oder einen unerwarteten Pfad zurückgeben.
Das obige ist der detaillierte Inhalt vonWas gibt ServletContext.getRealPath('/') zurück und wann sollte ich die Verwendung vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!