Web-Container-Konfiguration für den Zugriff auf JSP- und statische Dateien
URL ServletContext.getResource(String path)
Set ServletContext.getResourcePaths(String path)
/* Servlet-Zuordnung. Außerdem enthalten JSP-Dateien
zusätzlich zu anderen Mustern, die in der Datei "web.xml" definiert sind, Dateien mit den folgenden Erweiterungen:- .jsp
- .jspx
- .jsw
- .jsv
- Verzeichnis der Anwendungs-WAR-Dateien
- Zuerst durchsucht der Web-Container das Verzeichnis "WAR" der Anwendung nach einer angeforderten Ressource. Sie können jedoch keine Ressourcen unter den Verzeichnissen "WEB-INF" oder "META-INF" für eingehende Ressourcen bereitstellen, obwohl sie über die Methoden "getResource()" und "getResourcePaths()" zugänglich sind.
- Dokumentstammverzeichnisse vom Typ "preFragmentExtendedDocumentRoot"
- Als Zweites durchsucht der Web-Container alle Dokumentstammverzeichnisse vom Typ "preFragmentExtendedDocumentRoot". Definieren Sie
ein Dokumentstammverzeichnis vom Typ "preFragmentExtendedDocumentRoot" in der Datei
ibm-web-ext.xmiim Verzeichnis WEB-INF der Anwendung. Gehen Sie wie folgt vor, um ein Dokumentstammverzeichnis vom Typ "preFragmentExtendedDocumentRoot" für statische oder JSP-Dateien zu erstellen:Static files: <fileServingAttributes xmi:id="<user-provided name>" name="preFragmentExtendedDocumentRoot" value="<user provided value>"/>JSP files: <jspAttributes xmi:id="<user provided name>" name="preFragmentExtendedDocumentRoot" value=<user provided value>"/>Der<user provided name>kann eine Liste von Verzeichnissen und/oder eine Liste von JAR-Dateien sein. Beispiel:
Wenn das<fileServingAttributes name="extendedDocumentRoot" value="C:\EDR_directory,C:\my\path\to\jarEDR.jar"/><user provided name>enthält nur eine Liste eines Verzeichnisses und dieses Verzeichnis enthält JAR-Dateien. Innerhalb dieser JAR-Dateien wird nicht gesucht. Es wird nur in diesem Verzeichnis und nicht in JAR-Dateien nach statischen Dateien und JSP-Dateien gesucht. Wenn sich die statischen oder JSP-Dateien in einer JAR-Datei befinden, können sich die statischen oder JSP-Dateien nicht im META-INF-Ordner der JAR-Datei befinden, da es sich um einen eingeschränkten Ordner handelt und die<user provided name>sollte einen vollständigen Pfad zur JAR-Datei enthalten.Aufmerksamkeit: Das Vorfragmentieren von Dokumentwurzeln ist eine neue Funktion in WebSphere® Application Server Ausführung 8.5.
- Verzeichnisse vom Typ "META-INF/resources" für Fragmente unterhalb des Verzeichnisses "WEB-INF/Lib" in der Anwendungs-WAR-Datei
- Nachdem der Web-Container die Dokumentstammverzeichnisse vom Typ "preFragmentExtendedDocumentRoot" durchsucht hat, durchsucht er Webfragmente. Ein Webfragment umfasst eine
JAR-Datei in einem Verzeichnis vom Typ "WEB-INF/lib" der Anwendung. Die JAR-Datei kann statische Ressourcen in einem Verzeichnis vom Typ
"META-INF/resources" enthalten, die in der JAR-Datei definiert sind. Um zu verhindern, dass der Web-Container Verzeichnisse
vom Typ "META-INF/resource" durchsucht, setzen Sie die angepasste Eigenschaft "com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing"
des Web-Containers auf
true. Der Standardwert für diese angepasste Eigenschaft ist "false".com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing = trueAufmerksamkeit: META-INF/resources Verzeichnisse von Fragmenten unter dem WEB-INF/Lib Verzeichnis in der Anwendung WAR-Datei ist eine neue Funktion in WebSphere Application Server Ausführung 8.5.
- Dokumentstammverzeichnisse vom Typ "extendedDocumentRoot"
- Zum Schluss durchsucht der Web-Container alle Anwendungen, die als Dokumentstammverzeichnisse vom Typ "extendedDocumentRoot" definiert sind. Dokumentstammverzeichnisse vom Typ "extendedDocumentRoot" waren in früheren Releases verfügbar und sind in der Datei
ibm-web-ext.xmiim Verzeichnis "WEB-INF" der Anwendung definiert. Gehen Sie wie folgt vor, um ein Dokumentstammverzeichnis vom Typ "extendedDocumentRoot" für statische oder JSP-Dateien zu erstellen:Static files: <fileServingAttributes xmi:id="<user provided name>" name="extendedDocumentRoot" value="<user provided value>"/>JSP files: <jspAttributes xmi:id="<user provided name>" name="extendedDocumentRoot" value=<user provide value>"/>com.ibm.ws.webcontainer.SkipMetaInfResourcesProcessing = trueDer<user provided name>kann eine Liste von Verzeichnissen und/oder eine Liste von JAR-Dateien sein. Beispiel:
Wenn das<fileServingAttributes name="extendedDocumentRoot" value="C:\EDR_directory,C:\my\path\to\jarEDR.jar"/><user provided name>enthält nur eine Liste eines Verzeichnisses und dieses Verzeichnis enthält JAR-Dateien. Innerhalb dieser JAR-Dateien wird nicht gesucht. Es wird nur in diesem Verzeichnis und nicht in JAR-Dateien nach statischen Dateien und JSP-Dateien gesucht. Wenn sich die statischen oder JSP-Dateien in einer JAR-Datei befinden, können sich die statischen oder JSP-Dateien nicht im META-INF-Ordner der JAR-Datei befinden, da es sich um einen eingeschränkten Ordner handelt und die<user provided name>sollte einen vollständigen Pfad zur JAR-Datei enthalten.Aufmerksamkeit: Sie können die com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot benutzerdefinierte Eigenschaft auf WAHR um die Bereitstellung statischer Willkommensseiten aus einem erweiterten Dokumentstamm mit einer statischen Datei zu ermöglichen. Der Standardwert für diese angepasste Eigenschaft ist false.com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot = trueWenn die Eigenschaft "com.ibm.ws.webcontainer.ServeWelcomeFileFromExtendedDocumentRoot" auf true gesetzt ist, sucht der Web-Container in einem Dokumentstammverzeichnis vom Typ "extendedDocumentRoot" für statische Dateien nach einer statischen Begrüßungsdatei, die im Falle einer Anforderung mit einer gültigen partiellen URL bereitgestellt werden kann. Wenn in einer Anforderung beispielsweise nur der Anwendungskontext angegeben ist und eine Begrüßungsdatei als "index.html" definiert ist, muss die Eigenschaft gesetzt werden, vorausgesetzt, die Datei "index.html" soll aus einem Dokumentstammverzeichnis vom Typ "extendedDocumentRoot" für statische Dateien bereitgestellt werden.
Der Standardwert ist false.com.ibm.ws.webcontainer.enablepartialurltoextendeddocumentroot = trueIst die Eigenschaft auf true gesetzt, schließt der Web-Container den Inhalt eines Dokumentstammverzeichnisses vom Typ "extendedDocumentRoot" für statische Dateien ein, wenn er angibt, ob eine eingehende Anforderung sich auf eine gültige partielle URL bezieht. Wenn eine Anfrage beispielsweise eine URL angibt, die mit/<application context>/<text> Und
<text>nicht auf ein Servlet oder eine statische Datei abgebildet wird, betrachtet der Webcontainer diese URL nur dann als gültige Teil-URL, wenn<text>ist ein gültiges Verzeichnis der Anwendung. Daher muss diese Eigenschaft, wenn das Verzeichnis<text>nur in einem Dokumentstammverzeichnis vom Typ "extendedDocumentRoot" für statische Dateien vorhanden ist, gesetzt werden, damit die URL als gültige partielle URL behandelt wird.Wichtig: Diese Eigenschaften sind für Dokumentstammdateien mit vorfragmentierter statischer Datei nicht erforderlich. Analog dazu berücksichtigt der Web-Container beim Definieren der gültigen partiellen URL keine Dokumentstammverzeichnisse vom Typ "preFragmentExtendedDocumentRoot" und keine Dokumentstammverzeichnisse vom Typ "extendedDocumentRoot" für JSP-Dateien.