Konfigurationsparameter der JSP-Engine

In WebSphere Application Server können Sie die Parameter der JSP-Engine (Java™Server Pages) in einer Produktionsserverumgebung konfigurieren, um eine optimale Leistung zu erzielen. In einer Entwicklungsumgebung können Sie die Engine an den Bedarf von Entwicklern anpassen.

Bei den Parametern für die JSP-Engine wird zwischen Groß-/Kleinschreibung unterschieden. Wenn der für einen Parameter angegebene Wert zwei oder mehr durch Leerzeichen voneinander getrennte Wörter enthält, müssen Sie den Wert in Anführungszeichen setzen. Einige Parameter wirken sich auf die Java-Quelle aus, die für eine JSP- oder Tag-Datei generiert wird. Diese Parameter sind mit folgendem Hinweis gekennzeichnet: "Dieser Parameter erfordert eine Neugenerierung der Java-Quelle." Dieser Hinweis besagt, dass nach einer Änderung des Konfigurationsparameters der Wert des Parameters erst dann wirksam wird, wenn die JSP-Dateien neu übersetzt und die Java-Quellen neu kompiliert wurden.

Bewährtes Verfahren Bewährtes Verfahren: Verwenden Sie ein Assembliertool wie Rational Application Developer, um die IBM Erweiterung und die Bindungsdateien zu ändern. Sie können Erweiterungs- und Bindungsdateien innerhalb von Modulen von XMI in XML konvertieren, indem Sie das IBM Bindings and Extensions Conversion Tool for Multi-Platforms verwenden.bprac

allowMultipleAttributeValues

Gibt an, ob der JSP-Container mehrere Werte für ein angepasstes Tagattribut speichern kann. Setzen Sie diesen Parameter auf true, um dem JSP-Container zu ermöglichen, mehrere Werte zu speichern. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

compileWithAssert

Gibt an, ob die generierten Java-Klassen Unterstützung für die Assertion-Funktion von Developer Kit, Java Technology Edition 1.4 enthalten sollen. Wenn Sie diesen Parameter auf true setzen, wird die Option "–source 1.4" an den Java-Compiler übermittelt. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

classdebuginfo

Gibt an, ob der Compiler Debugging-Informationen in die generierte Klassendatei aufnimmt. Wenn Sie diesen Parameter auf true setzen, wird die Option "-g" an den Java-Compiler übermittelt. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

convertAttrValueToString

Gibt an, ob Anfangs- und Endattribute des Tags "repeat" in Zeichenfolgen konvertiert werden sollen, bevor sie verwendet werden. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

deprecation

Gibt an, ob der Compiler bei der Kompilierung der generierten Java-Quelle Warnungen generieren soll, falls veraltete Daten verwendet werden. Wenn Sie diesen Parameter auf "true" setzen, wird die Option -deprecation an den Java-Compiler übermittelt. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

disableElCache

Setzen Sie diesen Parameter auf Wert true, um den Cache für commons-el-Ausdrücke zu inaktivieren, wenn abnormale Speicherbedingungen auftreten, weil die Hash-Tabellen vom Auswertungsprogramm für die Ausdrücke gesperrt werden. Der Standardwert für diesen Parameter ist false.

disableJspRuntimeCompilation

Wenn Sie diese Option auf true setzen, konvertiert und kompiliert die JSP-Engine zur Laufzeit keine JSP-Dateien, sondern sie lädt nur die vorkompilierten Klassendateien. Es müssen keine JSP-Quellendateien vorhanden sein, damit Klassendateien geladen werden. Wenn diese Option den Wert "true" hat, können Sie eine Anwendung ohne JSP-Quelle installieren, die Anwendung muss jedoch vorkompilierte Klassendateien besitzen. Eine angepasste Eigenschaft für Web-Container mit demselben Namen wird verwendet, um das Verhalten aller im Server installierten Webmodule zu bestimmen. Wenn sowohl die angepasste Eigenschaft des Web-Containers als auch die Option der JSP-Engine gesetzt werden, hat die Option der JSP-Engine Vorrang. Der Standardwert für diesen Parameter ist false.

disableTldSearch

Setzen Sie diese Option auf true, um zu verhindern, dass die JSP-Engine die Anwendungsinstallationsverzeichnisse nach TLD-Dateien (Taglib Descriptor, Deskriptor für Tagbibliothek) durchsucht, wenn eine Anwendung gestartet wird. Wenn diese Option auf false gesetzt ist, durchsucht die JSP-Engine beim Start einer Anwendung die Anwendungsinstallationsverzeichnisse nach TDL-Dateien. Der Standardwert für diesen Parameter ist false.

Mit der angepassten Eigenschaft des Web-Containers com.ibm.wsspi.jsp.disableTldSearch können Sie festlegen, dass die JSP-Engines in allen in einem Server installierten Webmodulen die Anwendungsinstallationsverzeichnisse nicht nach TDL-Dateien durchsuchen sollen, wenn eine Anwendung gestartet wird. Sollten die angepasste Eigenschaft des Web-Containers und die Option für die JSP-Engine im Widerspruch stehen, hat die Einstellung für die JSP-Engine Vorrang.

Anmerkung: Diese Option ist nur in den Versionsständen 7.0.0.3 und höher verfügbar.

evalQuotedAndEscapedExpression

Setzen Sie diese Option auf "true", um Escape-Zeichen und Anführungszeichen ordnungsgemäß verarbeiten zu können, wenn festgelegt wird, ob ein Ausdruck auszuwerten ist.

In der Übersetzungsphase einer JSP-Kompilierung werden Ausdrücke von der JSP-Engine ausgewertet. Zeichen wie das Escape-Zeichen (\) oder verschachtelte einfache oder doppelte Anführungszeichen bewirken, dass die JSP-Dateiübersetzung fehlschlägt. Das folgende Beispiel zeigt eine Funktion mit Zeichen, die ausgewertet werden:
<input type="text" value="${fn:substring('1234567', 0,4)}"/>
Die JSP-Datei kann aufgrund der Anführungszeichen, die direkt vor der Anweisung fn:substring stehen, nicht kompiliert werden, weil das Übersetzungsprogramm den Funktionsmapper der generierten Java-Klasse nicht hinzugefügt hat. Wenn einem Dollarzeichen ($) ein Backslash als Escape-Zeichen vorangestellt wird (\$), versucht das Übersetzungsprogramm, den Ausdruck auszuwerten, anstatt ihn als Literalzeichenfolge zu behandeln. Für eine ordnungsgemäße Verarbeitung von Escape-Zeichen und Anführungszeichen müssen Sie evalQuotedAndEscapedExpression in der Datei ibm-web-ext.xmi oder ibm-web-ext.xml der Anwendung auf auf true setzen.
Das folgende Codebeispiel zeigt einen Eintrag in der Datei ibm-web-ext.xmi:
<jspAttributes xmi:id="JSPAttribute_1" 
name="evalQuotedAndEscapedExpression" value="true"/> 
Das folgende Codebeispiel zeigt einen Eintrag in der Datei ibm-web-ext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
   xmlns="http://websphere.ibm.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
      version="1.0">
   <file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
   <jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
   <jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir","${MY_CUSTOM_VARIABLE}"  />
   
   <reload-interval value="3"/>
   <auto-encode-requests value="false"/>
   <auto-encode-responses value="false"/>
   <enable-directory-browsing value="false"/>
   <enable-file-serving value="true"/>
   <pre-compile-jsps value="false"/>
   <enable-reloading value="true"/>
   <enable-serving-servlets-by-class-name value="false" />	
</web-ext>

Wenn Sie dieses Verhalten auf alle Webanwendungen anwenden möchten, können Sie die angepasste Eigenschaft com.ibm.wsspi.jsp.evalQuotedAndEscapedExpression des Web-Containers auf true setzen.

extendedDocumentRoot

Verwenden Sie die Funktion für erweiterte Dokumentstammverzeichnisse, wenn Anwendungen auf Dateien außerhalb des WAR-Verzeichnisses (Webarchiv) der Anwendung zugreifen müssen. Diese Funktion ermöglicht Ihnen, eine Anwendung mit einem oder mehreren Verzeichnispfaden zu konfigurieren, aus denen Sie statische Dateien und JSP-Dateien (Java ServerPages) bereitstellen können. Sie können dieses Attribut verwenden, wenn eine Anwendung Zugriff auf Dateien erfordert, die sich außerhalb des WAR-Verzeichnisses (Webarchiv) befinden. Wenn beispielsweise mehrere Anwendungen auf eine Gruppe gemeinsamer Dateien zugreifen müssen, können Sie diese gemeinsamen Dateien in einem Verzeichnis ablegen, mit dem Sie jede Anwendung in Form eines erweiterten Dokumentstammverzeichnisses verknüpfen können.

Zum Konfigurieren einer Anwendung mit einem erweiterten Dokumentstammverzeichnis fügen Sie das Attribut "extendedDocumentRoot" der Datei ibm-web-ext.xmi oder ibm-web-ext.xml der Anwendung als Dateiserviceattribut hinzu. Der Wert dieses Attributs ist eine durch Kommas begrenzte Liste mit Verzeichnissen, die als Stammverzeichnisposition für die statischen Dateien dienen.

Der folgende Eintrag ist ein Beispiel aus der Datei ibm-web-ext.xmi:
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
Die folgenden Beispiele basieren auf dem vorherigen Eintrag in der Datei ibm-web-ext.xmi, in dem das Attribut auf den Wert /opt/extDocRootDir gesetzt ist:
  • Eine Anforderung für die Ressource "http://localhost:9080/Kontextstammverzeichnis/sample.html" erfordert, dass sich die Datei sample.html in der Verzeichnisstruktur /opt/extDocRootDir/sample.html befindet.
  • Eine Anforderung für die Ressource "http://localhost:9080/Kontextstammverzeichnis/myDir/sample.gif" erfordert, dass sich die Datei sample.gif in der Verzeichnisstruktur /opt/extDocRootDir/myDir/sample.gif befindet.
Der folgende Eintrag ist ein Beispiel aus der Datei ibm-web-ext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
   xmlns="http://websphere.ibm.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
      version="1.0">
   <file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
   <jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
   <jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir", "${MY_CUSTOM_VARIABLE}"/>
   <reload-interval value="3"/>
   <auto-encode-requests value="false"/>
   <auto-encode-responses value="false"/>
   <enable-directory-browsing value="false"/>
   <enable-file-serving value="true"/>
   <pre-compile-jsps value="false"/>
   <enable-reloading value="true"/>
   <enable-serving-servlets-by-class-name value="false" />	
</web-ext>
Wichtig: Zur Bereitstellung statischer Dateien aus einem erweiterten Dokumentstammverzeichnis müssen Sie den Dateiservice aktivieren.

Zum Konfigurieren einer Anwendung mit einem erweiterten Dokumentstammverzeichnis, aus dem JSP-Dateien bereitgestellt werden, fügen Sie das Attribut "extendedDocumentRoot" der Datei ibm-web-ext.xmi oder ibm-web-ext.xml als JSP-Attribut hinzu. Der Wert dieses Attributs ist eine durch Kommas begrenzte Liste mit Verzeichnissen, die als Stammverzeichnisposition für die JSP-Dateien dienen.

Der folgende Eintrag ist ein Beispiel aus der Datei ibm-web-ext.xmi:
<jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
Das folgende Beispiel zeigt den Eintrag in der Datei ibm-web-ext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
   xmlns="http://websphere.ibm.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
      version="1.0">
   <file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
   <jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
   <jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir", "${MY_CUSTOM_VARIABLE}" />
   <reload-interval value="3"/>
   <auto-encode-requests value="false"/>
   <auto-encode-responses value="false"/>
   <enable-directory-browsing value="false"/>
   <enable-file-serving value="true"/>
   <pre-compile-jsps value="false"/>
   <enable-reloading value="true"/>
   <enable-serving-servlets-by-class-name value="false" />	
</web-ext>

Sie können das Attribut extendedDocumentRoot auch verwenden, um eine WebSphere-Variable auf mehreren Knoten im entsprechenden Verzeichnis zu definieren.

Beispiel für ibm-web-ext.xmi:
<jspAttributes xmi:id="JSPAttribute_2" name="extendedDocumentRoot" 
  				value="${MY_CUSTOM_VARIABLE}"/>
Beispiel für ibm-web-ext.xml:
 <jsp-attribute name="extendedDocumentRoot" 
    value="${MY_CUSTOM_VARIABLE}" />
Für diese Angabe gilt Folgendes: angepasste_Variable ist die WebSphere-Variable, die Sie auf mehreren Knoten definieren möchten.
Im folgenden Beispiel wird eine Datei ibm-web-ext.xmi gezeigt, in der ein erweitertes Dokumentstammverzeichnis sowohl als Dateiserviceattribut als auch als JSP-Attribut definiert ist.
<?xml version="1.0" encoding="UTF-8"?>
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:com.ibm.ejs.models.base.extensions.webappext="webappext.xmi" xmi:id="WebAppExtension_1"
          reloadInterval="3"
          reloadingEnabled="true"
          fileServingEnabled="true">
      <webApp href="WEB-INF/web.xml#WebApp_ID/">
      <fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot"
       value="/opt/extDocRootDir/">
      <jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot"
       value="/opt/extDocRootDir/">
<com.ibm.ejs.models.base.extensions.webappext:WebAppExtension>
Im folgenden Beispiel wird eine Datei ibm-web-ext.xml gezeigt, in der ein erweitertes Dokumentstammverzeichnis sowohl als Dateiserviceattribut als auch als JSP-Attribut definiert ist.
<?xml version="1.0" encoding="UTF-8"?>
<web-ext
   xmlns="http://websphere.ibm.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-web-ext_1_0.xsd"
      version="1.0">
   <file-serving-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir" />
   <jsp-attribute name="evalQuotedAndEscapedExpression" value="true" />
   <jsp-attribute name="extendedDocumentRoot" value="/opt/extDocRootDir","${MY_CUSTOM_VARIABLE}"  />
   
   <reload-interval value="3"/>
   <auto-encode-requests value="false"/>
   <auto-encode-responses value="false"/>
   <enable-directory-browsing value="false"/>
   <enable-file-serving value="true"/>
   <pre-compile-jsps value="false"/>
   <enable-reloading value="true"/>
   <enable-serving-servlets-by-class-name value="false" />	
</web-ext>

Wenn die Anforderung eine gültige Teilanforderung für eine Begrüßungsdatei ist, wird ein Fehler vom Typ 404 zurückgegeben. Wenn sich die JSP-Datei in einer JAR-Datei befindet und das Attribut "reloadEnabled" auf "true" gesetzt ist, wird die Zeitmarke der JAR-Datei zu Neukompilierungszwecke für isOutDated-Prüfungen verwendet. Der Standardwert für diesen Parameter ist "null".

Unterstützte Konfigurationen Unterstützte Konfigurationen: Bei IBM® Erweiterungs- und Bindungsdateien weicht der Name der XMI- oder XML-Datei ab, je nachdem, ob Sie eine Java EE-Anwendung bzw. ein Java EE-Modul vor oder nach Version 5 verwenden. Eine IBM Erweiterungs- bzw. Bindungsdatei heißt "ibm-*-ext.xmi" bzw. "ibm-*-bnd.xmi". Das Platzhalterzeichen "*" steht für den Typ der Erweiterungs- oder Bindungsdatei, z. B. "app", "application", "ejb-jar" oder "web". Es gelten die folgenden Bedingungen:
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE vor Version 5 verwendet, muss die Dateierweiterung ".xmi" sein.
  • Für eine Anwendung oder ein Modul, die bzw. das Java EE ab Version 5 verwendet, muss die Dateierweiterung ".xml" sein. Wenn Dateien mit der Erweiterung ".xmi" in der Anwendung oder im Modul enthalten sind, werden diese vom Produkt ignoriert.

Ein Modul von Java EE Version 5 oder einer höheren Version kann jedoch in einer Anwendung, die Dateien einer älteren Java EE-Version als Version 5 enthält, koexistieren.

Die Dateien ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi und ibm-portlet-ext.xmi können die Dateierweiterung ".xmi" weiterhin verwenden.

sptcfg

ieClassId

Zeigt die COM-Klassen-ID des Java-Plug-ins für Internet Explorer an.

Die <jsp:plugin>-Tags verwenden diesen Wert. Die Standard-Klassen-ID lautet clsid:8AD9C840-044E-11D1-B3E9-00805F499D93

javaEncoding

Gibt die Codierung an, die für die Generierung der .java-Datei und die Kompilierung durch den Java-Compiler verwendet wird. Setzen Sie diesen Parameter, wenn die Seitencodierung Ihrer JSP-Dateien nicht UTF-8-konform ist. Wenn "javaEncoding" definiert ist, wird die Codierung mit dem Argument -encoding an den Java-Compiler übergeben. Beachten Sie, dass die Codierung von Jikes nicht unterstützt wird. Die Standardcodierung ist UTF-8. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

jdkSourceLevel

Dieser JSP-Engineparameter wurde in WebSphere Application Server Version 6.1 eingeführt. Verwenden Sie diesen Parameter anstelle des Parameters compileWithAssert, auch wenn compileWithAssert in Version 6.1 weiterhin funktioniert.

Der Standardwert für diesen Parameter lautet 17. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle. Im folgenden sind die Werte für den Parameter jdkSourceLevel aufgelistet:
  • Der Wert 13 inaktiviert alle neuen Sprachfunktionen von JDK 1.4, JDK 5.0, JDK 6.0 und JDK 7.0.
  • Der Wert 14 aktiviert die Verwendung der Zusicherungsfunktion und inaktiviert alle neuen Sprachfunktionen von JDK 5.0, JDK 6.0 und JDK 7.0.
  • Der Wert 15 aktiviert die Verwendung der Zusicherungsfunktion und inaktiviert alle neuen Sprachfunktionen von JDK 6.0 und JDK 7.0.
  • Der Wert 16 aktiviert die Verwendung der Zusicherungsfunktion und inaktiviert alle neuen Sprachfunktionen von JDK 7.0.
  • Der Wert 17 aktiviert die Verwendung der neuen Features von JDK 7.0.
  • Der Wert 18 aktiviert die Verwendung der neuen Features von JDK 8.0.

jspClassLoaderLimit

WebSphere Application Server erstellt ein Objekt des Typs JSPExtensionClassLoader für jede JSP in einer Anwendung. Dies kann dazu führen, dass diese Objekte viel nativen Speicher belegen, was wiederum zu einer Ausnahme des Typs OutOfMemoryException führen kann. Dieser ganzzahlige Wert bestimmt, wie viele JSPExtensionClassLoader-Objekte im Speicher geladen bleiben.

<jspAttributes xmi:id="JSPAttribute_1" name="jspClassLoaderLimit" value="1500"/>

jspClassLoaderExclusionList

Während jspClassLoaderLimit die Anzahl der im Speicher geladenen JSPExtensionClassLoader-Objekte angibt, gibt diese durch Kommas begrenzte Liste mit JSP-Werten an, welche JSPs nicht entladen werden sollen, unabhängig davon, welcher Grenzwert mit jspClassLoaderLimit definiert wurde.

<jspAttributes xmi:id="JSPAttribute_2" name="jspClassLoaderExclusionList" value="/test/RappHTML2.jsp,/test/RappHTML4.jsp"/>

jsp.file.extensions

Für JSP-Dateien mit anderen Erweiterungen als den vier Standarderweiterungen .jsp, .jspx, .jsw und .jsv können die Erweiterungen mit diesem Parameter konfiguriert werden. Diese Erweiterungen werden den Standarderweiterungen hinzugefügt.

Die bevorzugte Methode sieht vor, ein <jsp-property-group> in web.xml zu erstellen und ein <url-pattern>-Tag für jede Erweiterung hinzuzufügen.

Die JSP-Engine kann eine Liste mit Dateierweiterungen, die durch Doppelpunkt oder Semikolon abgetrennt sind, bearbeiten. Beispiel: .ext1;.ext2:.extn

keepgenerated

Zeigt an, dass die Java-Dateien, die vom JSP-Compiler während der Umsetzungsphase des Prozesses generiert wurden, aufbewahrt werden sollen. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

keepGeneratedclassfiles

Zeigt an, dass die Java-Dateien, die vom JSP-Compiler während der Umsetzungsphase des Prozesses generiert wurden, gespeichert werden sollen. Der Standardwert für diesen Parameter ist true. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

modifyPageContextVariable

Während der Übersetzung einer kompilierten Tag-Datei verwendet der JSP-Container implizit die Variable pageContext für das Objekt PageContext. Die Verwendung der Variablen pageContext als implizite Variable in Tag-Dateien entspricht nicht der JSP-Spezifikation. Wenn bei Anwendungen, die eine lokale Variable des Typs pageContext in ihren Tag-Dateien verwenden, Kompilierungsfehler auftreten, setzen Sie das Attribut modifyPageContextVariable auf true, um die Verwendung der Variablen pageContext im generierten Java-Code für Tag-Dateien zu verhindern.

recompileJspOnRestart

Bestimmt, ob eine JSP-Datei erneut übersetzt und kompiliert wird, wenn sie nach dem Start der Anwendung zum ersten Mal angefordert wird. Wenn "recompileJspOnRestart" den Wert "false" hat, wird bei der ersten Anforderung gegebenenfalls trotzdem eine JSP-Datei kompiliert, sofern der Parameter disableJspRuntimeCompilation nicht auf true gesetzt ist. Der Standardwert für diesen Parameter ist false.

reloadEnabled

Bestimmt, ob eine JSP-Datei zur Laufzeit übersetzt und kompiliert wird, wenn die JSP-Datei oder ihre Abhängigkeiten (siehe trackDependencies) geändert werden.

Wenn "reloadEnabled" den Wert "false" hat, wird bei der ersten Anforderung gegebenenfalls trotzdem eine JSP-Datei kompiliert, sofern der Parameter disableJspRuntimeCompilation nicht auf "true" gesetzt ist. Der Standardwert für diesen Parameter ist false.

Wenn dieser Parameter der JSP-Engine nicht angegeben ist, wird der äquivalente Parameter des Web-Containers für das erneute Laden der Webmodulklassen verwendet. Für eine Anwendung, deren Implementierungsdeskriptor Servlet 2.2 verwendet, ist die Standardeinstellung jedoch true. Damit sollen Anwendungen, die von WebSphere Application Server Version 4.x migriert werden, unterstützt werden.

reloadInterval

Wenn die Option für erneutes Laden aktiviert ist, bestimmte der Wert des Parameters reloadInterval die Wartezeit zwischen den Überprüfungen einer JSP-Datei.

Wenn der Parameter reloadInterval beispielsweise den Wert 5 hat, prüft die JSP-Engine erst dann, ob eine JSP-Datei veraltet ist, wenn die letzte Prüfung dieser Art mehr als fünf Sekunden zurückliegt. Je höher der Wert für reloadInterval ist, desto seltener prüft die JSP-Engine, ob eine JSP-Datei erneut geladen werden muss. Wenn dieser Parameter der JSP-Engine nicht angegeben ist, wird der äquivalente Parameter des Web-Containers für das erneute Laden der Webmodulklassen verwendet. Für eine Anwendung, deren Implementierungsdeskriptor Servlet 2.2 verwendet, ist die Standardeinstellung jedoch "5" (Sekunden). Damit sollen Anwendungen, die von WebSphere Application Server Version 4.x migriert werden, unterstützt werden.

reusePropertyGroupConfigOnInclude

Hinweis zur Umstellung Hinweis zur Umstellung: Die meisten Eigenschaften, die in einer JSP-Attributgruppe definiert sind, werden auf eine gesamte Übersetzungseinheit angewendet, z. B. auf die angeforderte JSP-Datei, die dem URL-Muster entspricht, und alle Dateien, die über die Anweisung "include" eingeschlossen werden. Ausnahmen sind die Eigenschaften "page-encoding" und "is-xml", die auf jede JSP-Datei, dem URL-Muster entspricht, angewendet werden. Um das Verhalten auf eine Einstellung zurückzusetzen, die vor WebSphere Application Server Version 8.0 gültig war, setzen Sie das Attribut auf true, damit die zwei Eigenschaftswerte auf die gesamte Übersetzungseinheit angewendet werden.trns

scratchdir

Gibt das Verzeichnis an, in dem die generierten Klassendateien erstellt werden.

Die Systemeigenschaft com.ibm.websphere.servlet.temp.dir wird verwendet, um die Option scratchdir auf dem gesamten Server festzulegen. Der Parameter scratchdir der JSP-Engine hat Vorrang vor der Systemeigenschaft com.ibm.websphere.servlet.temp.dir. Der Standardwert für diesen Parameter ist Profilstammverzeichnis/temp. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

Fehler vermeiden Fehler vermeiden: Geben Sie keinen Verzeichnispfad an, bei dem das temporäre JSP-Verzeichnis auf derselben Ebene oder unterhalb des temporären Konfigurationsverzeichnisses liegt. Die Standardposition für das temporäre Konfigurationsverzeichnis ist Profilstammverzeichnis/config/temp.

Wenn Sie beispielsweise die Position des temporären JSP-Verzeichnisses ebenfalls in Profilstammverzeichnis/config/temp ändern oder wenn Sie das temporäre JSP-Verzeichnis unter dem temporären Konfigurationsverzeichnis im Verzeichnis Profilstammverzeichnis/config/temp/temp positionieren, können Verarbeitungsfehler auftreten.

gotcha

trackDependencies

Wenn das erneute Laden aktiviert ist, bestimmt trackDependencies, ob die JSP-Engine Änderungen an den angeforderten JSP-Dateiabhängigkeiten und an der JSP-Datei selbst überwachen soll.

Folgende Abhängigkeiten werden von der JSP-Engine überwacht:
  1. Dateien, die statisch in die JSP-Datei aufgenommen werden
  2. Tag-Dateien, die in der JSP-Datei referenziert werden (ausgenommen Tag-Dateien, die sich in JAR-Dateien befinden)
  3. TLD-Dateien, die in der JSP-Datei referenziert werden (ausgenommen Tag-Dateien, die sich in JAR-Dateien befinden)
Die Standardeinstellung ist "false".

useFullPackageNames

Wenn useFullPackageNames den Wert true hat, generiert und lädt die JSP-Engine JSP-Klassen mit dem vollständigen Paketnamen.

Standardmäßig werden alle JSP-Klassen im selben Paket generiert. (Weitere Informationen finden Sie im Artikel "Pakete und Verzeichnisse für generierte Dateien mit den Erweiterungen .java und .class".) Der Klassenlader der JSP-Engine kann JSP-Klassen laden, wenn sie sich alle im selben Paket befinden.

Die Standardmethode, die darin besteht, alle JSP-Klassen im selben Paket zu generieren, hat den Vorteil, dass dabei kleinere Dateisystempfade entstehen. Vollständige Paketnamen haben den Vorteil, dass die Konfiguration von vorkompilierten JSP-Klassendateien als Servlets in der Datei web.xml ohne Verwendung des Attributs "jsp-file" aktiviert werden. Dies führt dazu, dass ein einzelner Klassenlader entsteht, der Klassenlader der Webanwendung, der zum Laden aller JSP-Klassen dieses Typs verwendet wird. Wenn die Konfigurationsattribute useFullPackageNames und disableJspRuntimeCompilation beide auf true gesetzt sind, wird ebenfalls nur ein Klassenlader für das Laden aller JSP-Klassen verwendet. Dies gilt auch dann, wenn die JSP-Dateien nicht als Servlets in der Datei web.xml konfiguriert sind.

Wenn useFullPackageNames auf true gesetzt ist, generiert der Stapelcompiler die Datei generated_web.xml im Verzeichnis WEB-INF des Webmoduls. Diese Datei enthält Servletkonfigurationsdaten für jede JSP-Datei, die übersetzt und kompiliert wurde. Die Daten können in die Datei web.xml des Webmoduls kopiert werden, damit die JSP-Dateien als Servlets vom Web-Container hochgeladen werden. Beachten Sie, dass eine JSP-Datei, die auf diese Weise als Servlet konfiguriert wird, zur Laufzeit nicht erneut geladen wird, falls sie geändert wurde. Der Grund dafür ist, dass die JSP-Datei als reguläres Servlet behandelt wird und Anforderungen an das Servlet nicht durch die JSP-Engine geleitet werden. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

useImplicitTagLibs

Die JSP-Engine erkennt tsx und jsx als Präfixe von Tagbibliotheken, die von der JSP-Engine bereitgestellt werden. Wenn tsx oder jsx als Präfixe für die Tagbibliothek eines Kunden verwendet werden, setzt die Tagbibliothek des Kunden die implizite Tagbibliothek außer Kraft. Die implizite Tagbibliothek wird jedoch noch von der JSP-Engine zwischengespeichert. Wenn Sie diesen Parameter explizit auf "false" setzen, wird die Engine angewiesen, die implizite Tagbibliothek nicht zwischenzuspeichern und Ressourcen zu speichern. Der Standardwert für diesen Parameter ist "true".

Der Standard-URL für die tsx-Tags lautet http://websphere.ibm.com/tags/tsx. Der Standard-URI für die jsx-Tags lautet http://websphere.ibm.com/tags/jsx.

Möglicherweise müssen Sie das Präfix für die tsx- oder jsx-Tagbibliothek mit einem anderen URI als dem Standard-URI definieren. Es ist auch möglich, dass Sie dasselbe Bibliothekspräfix mit einem anderen URI definieren müssen. In diesen beiden Fällen können Sie die angepasste Eigenschaft com.ibm.wsspi.jsp.allowtaglibprefixredefinition festlegen, um Übersetzungsfehler zu vermeiden. Weitere Informationen finden Sie in der Beschreibung der angepassten JSP-Eigenschaften.

useInMemory

Gibt an, dass die JSP-Engine Java-Code im Systemspeicher übersetzen und kompilieren soll.

Wenn diese Option nicht gesetzt ist, muss die JSP-Engine die folgenden Schritte ausführen:
  1. Übersetzte Java-Datei in das Dateisystem schreiben
  2. Java-Datei aus dem Dateisystem laden
  3. Code in eine Klassendatei kompilieren
  4. Klasse in das Dateisystem schreiben
  5. Klassendatei in einen Klassenlader laden
Fehler vermeiden Fehler vermeiden: Es werden keine Dateien mit den Erweiterungen ".class" und ".java" auf die Systemplatte geschrieben. Für das Debugging oder Erstellen einer JAR-Datei aus dem kompilierten JSP-Code müssen Sie diese Option inaktivieren.gotcha

useJikes

Gibt an, ob Jikes für die Kompilierung von Java-Quellen verwendet wird.

Anmerkung: Jikes ist nicht im Lieferumfang von WebSphere Application Server enthalten. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

usePageTagPool

Aktiviert oder inaktiviert die Wiederverwendung angepasster Tag-Handler für einzelne JavaServer Pages. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

useThreadTagPool

Wenn Tag-Handler-Pools auf Threadebene verwendet werden, können Tag-Handler in mehreren Vorkommen einer angepassten Aktion in allen JSP-Seiten eines Webmoduls in mehreren Anforderungen wiederverwendet werden. Der Standardwert für diesen Parameter ist false. Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

Wenn Sie die Wiederverwendung von angepassten Tag-Handlern aktivieren, werden möglicherweise Fehler in Bezug auf die Wiederverwendbarkeit der Tags im Tag-Handler-Code erkennbar. Für einen angepassten Tag-Handler müssen immer zwei Voraussetzungen erfüllt sein:
  • Die release-Methode des Tag-Handlers muss dessen Status zurücksetzen und alle privaten Ressourcen, die der Handler verwendet hat, freigeben. Die JSP-Engine stellt sicher, dass die release-Methode aufgerufen wird, bevor die Garbage-Collection für den Tag-Handler ausgeführt wird.
  • In der doEndTag-Methode muss jeder Instanzstatus, der dieser Instanz zugeordnet ist, zurückgesetzt werden.

verbose

Gibt an, dass der Compiler bei der Kompilierung des generierten Java-Quellcodes eine ausführliche Ausgabe erstellen soll. Wenn Sie diesen Parameter auf "true" setzen, wird die Option "–verbose" an den Java-Compiler übermittelt. Der Standardwert für diesen Parameter ist "false". Dieser Parameter erfordert eine Neugenerierung der Java-Quelle.

Wenn Sie die Wiederverwendung von angepassten Tag-Handlern aktivieren, werden möglicherweise Fehler in Bezug auf die Wiederverwendbarkeit der Tags im Tag-Handler-Code erkennbar. Für einen angepassten Tag-Handler müssen immer zwei Voraussetzungen erfüllt sein:
  • Die release-Methode des Tag-Handlers muss dessen Status zurücksetzen und alle privaten Ressourcen, die der Handler verwendet hat, freigeben. Die JSP-Engine stellt sicher, dass die release-Methode aufgerufen wird, bevor die Garbage-Collection für den Tag-Handler ausgeführt wird.
  • In der doEndTag-Methode muss jeder Instanzstatus, der dieser Instanz zugeordnet ist, zurückgesetzt werden.
    Vorsicht:
    Wenn Sie Seiten- oder Thread-Tag-Pooling verwenden, wird die Methode "doEndTag" im Falle einer Ausnahme nicht aufgerufen, und wenn ein Servicestatus vorliegt, der bereinigt werden muss, muss die Schnittstelle "TryCatchFinally" implementiert werden.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_jspengine
Dateiname:rweb_jspengine.html