JSP 엔진 구성 매개변수

WebSphere® Application Server에서 프로덕션 서버 환경에서 최적 성능을 위해 JSP(Java™Server Pages) 엔진 구성 매개변수를 구성할 수 있고 배치 환경에서는 개발자의 요구사항을 위해 구성할 수 있습니다.

JSP 엔진 매개변수는 대소문자를 구분합니다. 매개변수에 대해 지정된 값이 공백으로 구분되는 둘 이상의 단어로 구성된 경우, 값을 따옴표로 묶어야 합니다. 일부 매개변수는 JSP 또는 태그 파일에 대해 생성되는 Java 소스에 영향을 줍니다. 이러한 매개변수는 명령문 "이 매개변수에는 Java 소스의 재생이 필요합니다."에 의해 식별됩니다. 이 명령문은 구성 매개변수가 수정되면 JSP 파일이 변환되고 Java 소스가 재컴파일될 때까지 변경사항이 없다는 것을 표시합니다.

우수 사례 우수 사례: Rational Application Developer 등과 같은 어셈블리 도구를 사용하여 IBM 확장 및 바인딩 파일을 수정할 수 있습니다. 다중 플랫폼용 IBM 바인딩 및 확장 변환 도구를 사용하여 모듈 내의 확장 및 바인딩 파일을 XMI에서 XML로 변환할 수 있습니다.bprac

allowMultipleAttributeValues

JSP 컨테이너가 사용자 정의 태그 속성의 여러 값을 저장할 수 있을지 지정합니다. 이 특성을 true로 설정하여 JSP 컨테이너가 여러 값을 저장하도록 허용하십시오. 매개변수의 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

compileWithAssert

생성된 Java 클래스가 Java Technology Edition 1.4 어설션 기능인 Developer Kit을 위한 지원을 포함해야 하는지 여부를 지정합니다. 이 매개변수를 true로 설정하는 효과는 –source 1.4 옵션이 Java 컴파일러로 전달된다는 것입니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

classdebuginfo

컴파일러가 생성된 클래스 파일에 디버깅 정보를 포함할지 여부를 지정합니다. 이 매개변수를 true로 설정할 때, –g 옵션이 Java 컴파일러로 전달됩니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

convertAttrValueToString

사용되기 전에 반복 태그의 시작 및 종료 속성을 문자열로 변환할지 여부를 지정합니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

deprecation

생성된 Java 소스를 컴파일할 때 컴파일러가 사용 불가 경고를 생성하는지 여부를 지정합니다. 이 매개변수를 true로 설정하면 -deprecation 옵션은 Java 컴파일러로 전달됩니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

disableElCache

이 매개변수를 true로 설정하여 해시 맵이 표현식 평가자에 의해 보유되므로 메모리 부족을 경험하는 경우 commons-el 표현식 캐시를 사용 안함으로 설정하십시오. 이 매개변수에 대한 기본값은 false입니다.

disableJspRuntimeCompilation

이 옵션이 true로 설정되면 런타임 시 JSP 엔진은 JSP 파일을 변환 및 컴파일하지 않습니다. JSP 엔진은 사전 컴파일된 클래스 파일만 로드합니다. 클래스 파일을 로드하기 위해 JSP 소스 파일이 필요하지는 않습니다. 이 옵션이 true로 설정될 때 JSP 소스 없이 애플리케이션을 설치할 수 있지만 애플리케이션은 클래스 파일을 사전 컴파일해야 합니다. 동일한 이름을 가진 웹 컨테이너 사용자 정의 특성은 서버에 설치된 모든 웹 모듈의 동작을 판별하기 위해 사용됩니다. 웹 컨테이너 사용자 정의 특성과 JSP 엔진 옵션을 모두 설정하는 경우, JSP 엔진 옵션이 우선합니다. 이 매개변수에 대한 기본값은 false입니다.

disableTldSearch

이 옵션을 true로 설정하여 애플리케이션이 시작될 때 JSP 엔진이 TLD(taglib descriptor) 파일에 대한 애플리케이션 설치 디렉토리를 검색하지 못하도록 하십시오. 이 옵션이 false로 설정되면 애플리케이션이 시작될 때 JSP 엔진이 TDL 파일에 대한 애플리케이션 설치 디렉토리를 검색합니다. 이 매개변수에 대한 기본값은 false입니다.

웹 컨테이너 사용자 정의 특성 com.ibm.wsspi.jsp.disableTldSearch는 애플리케이션이 시작될 때 서버에 설치된 모든 웹 모듈의 JSP 엔진이 TLD 파일에 대한 애플리케이션 설치 디렉토리를 검색하지 않는지 여부를 지정하는 데 사용될 수 있습니다. 충돌 값이 웹 컨테이너 사용자 정의 특성 및 JSP 엔진 옵션에 대해 설정되면 JSP 엔진 옵션에 대한 설정이 우선합니다.

참고: 이 옵션은 버전 레벨 7.0.0.3 이상에서만 사용될 수 있습니다.

evalQuotedAndEscapedExpression

이 옵션을 true로 설정하여 표현식을 평가할지 여부를 판별할 때 이스케이프 문자 및 인용을 적절하게 처리하십시오.

JSP 컴파일의 변환 단계 동안 표현식이 JSP 엔진에 의해 평가됩니다. 이스케이프 문자(\)나 중첩된 작은따옴표 또는 큰따옴표와 같은 문자는 JSP 파일 변환이 실패하는 원인이 됩니다. 평가되는 문자를 포함하는 함수의 예제는 다음과 같습니다.
<input type="text" value="${fn:substring('1234567', 0,4)}"/>
fn:substring 문 앞의 큰따옴표로 인해 JSP 파일이 컴파일에 실패했습니다. 그 이유는 변환기가 생성된 Java 클래스에 함수 맵퍼를 추가하지 않았기 때문입니다. 달러 기호 ($)가 백슬래시 (\$)를 사용하여 이스케이프되면 변환기가 리터럴 문자열로 이를 처리하는 대신 표현식을 평가하려고 시도합니다. 이스케이프 문자와 따옴표를 올바르게 처리하려면 실패한 애플리케이션의 ibm-web-ext.xmi 또는 ibm-web-ext.xml 파일에서 evalQuotedAndEscapedExpressiontrue로 설정해야 합니다.
다음 코드 샘플은 ibm-web-ext.xmi 파일에 항목을 표시합니다.
<jspAttributes xmi:id="JSPAttribute_1" 
name="evalQuotedAndEscapedExpression" value="true"/> 
다음 코드 샘플은 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>

이 동작을 모든 웹 애플리케이션 전체에 글로벌로 적용하려면 com.ibm.wsspi.jsp.evalQuotedAndEscapedExpression 웹 컨테이너 사용자 정의 특성을 true로 설정할 수 있습니다.

extendedDocumentRoot

애플리케이션에 애플리케이션 WAR(Web Application Archive) 디렉토리 외부의 파일에 대한 액세스 권한이 필요할 때 확장된 문서 루트 기능을 사용하십시오. 이 기능을 사용하면 정적 파일 및 JSP 파일을 제공할 수 있는 하나 이상의 디렉토리 경로를 가진 애플리케이션을 구성할 수 있습니다. 애플리케이션에 WAR(Web Application Archive) 디렉토리 외부에 존재하는 파일에 대한 액세스 권한이 필요할 때 이 속성을 사용할 수 있습니다. 예를 들어, 여러 애플리케이션에 공통 파일 세트에 대한 액세스 권한이 필요한 경우, 확장된 문서 루트 디렉토리로서 각 애플리케이션을 링크할 수 있는 디렉토리에서 공통 파일을 위치시킬 수 있습니다.

확장된 문서 루트로 애플리케이션을 구성하려면 파일 제공 속성으로서 extendedDocumentRoot 속성을 애플리케이션에 대한 ibm-web-ext.xmi 또는 ibm-web-ext.xml 파일에 추가하십시오. 이 속성 값은 정적 파일에 대한 루트 디렉토리 위치로서 제공하는 쉼표로 구분된 디렉토리 목록입니다.

다음 항목은 ibm-web-ext.xmi 파일 내의 예제입니다.
<fileServingAttributes xmi:id="FileServingAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
다음 예제는 /opt/extDocRootDir 값에 설정되는 속성을 가진 ibm-web-ext.xmi 파일에서 이전 항목을 기반으로 합니다.
  • http://localhost:9080/context_root/sample.html 자원에 대한 요청에는 sample.html 파일이 /opt/extDocRootDir/sample.html 디렉토리 구조에 위치한다는 것이 필요합니다.
  • http://localhost:9080/context_root/myDir/sample.gif 자원에 대한 요청에는 sample.gif 파일이 /opt/extDocRootDir/myDir/sample.gif 디렉토리 구조에 위치한다는 것이 필요합니다.
다음 항목은 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>
중요사항: 확장된 문서 루트 디렉토리에서 정적 파일을 제공하려면 파일 제공을 사용해야 합니다.

JSP 파일이 제공되는 확장된 문서 루트를 가지는 애플리케이션을 구성하려면 JSP 속성으로서 extendedDocumentRoot 속성을 ibm-web-ext.xmi 또는 ibm-web-ext.xml 파일에 추가하십시오. 이 속성 값은 JSP 파일에 대한 루트 디렉토리 위치로서 제공하는 쉼표로 구분된 디렉토리 목록입니다.

다음 항목은 ibm-web-ext.xmi 파일 내의 예제입니다.
<jspAttributes xmi:id="JSPAttribute_1" name="extendedDocumentRoot" value="/opt/extDocRootDir"/>
다음 예제는 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>

extendedDocumentRoot 속성을 사용하여 적절한 디렉토리에 대한 여러 노드에서 WebSphere 변수를 정의할 수도 있습니다.

ibm-web-ext.xmi 예제:
<jspAttributes xmi:id="JSPAttribute_2" name="extendedDocumentRoot" 
  		value="${MY_CUSTOM_VARIABLE}"/>
ibm-web-ext.xml 예제:
 <jsp-attribute name="extendedDocumentRoot" 
    value="${MY_CUSTOM_VARIABLE}" />
여기서 MY_CUSTOM_VARIABLE은 여러 노드에서 정의하려는 WebSphere 변수입니다.
다음 예제는 파일 제공 속성과 JSP 속성으로서 확장된 문서 루트 모두를 정의하는 ibm-web-ext.xmi 파일을 표시합니다.
<?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>
다음 예제는 파일 제공 속성과 JSP 속성으로서 확장된 문서 루트 모두를 정의하는 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>

요청이 시작 파일에 대한 올바른 부분 요청이면 404 오류가 리턴됩니다. JSP 파일이 JAR 파일에 위치하고 reloadEnabled 속성 값이 true인 경우, JAR 파일의 시간소인은 재컴파일 목적을 위한 isOutDated 검사를 위해 사용됩니다. 이 매개변수의 기본값은 널입니다.

지원된 구성 지원된 구성: IBM® 확장 및 바인딩 파일의 경우 .xmi 또는 .xml 파일 이름 확장자는 Java EE 5 이전 애플리케이션이나 모듈을 사용하는지 또는 Java EE 5 이상 애플리케이션이나 모듈을 사용하는지 여부에 따라 달라집니다. IBM 확장 또는 바인딩 파일 이름은 ibm-*-ext.xmi 또는 ibm-*-bnd.xmi입니다. 여기서, *는 확장 또는 바인딩 파일의 유형입니다(예: app, application, ejb-jar 또는 web). 다음 조건이 적용됩니다.
  • 버전 5 이전의 Java EE 버전을 사용하는 애플리케이션 또는 모듈의 경우, 파일 확장자는 .xmi여야 합니다.
  • Java EE 5 이상을 사용하는 애플리케이션 또는 모듈의 경우, 파일 확장자는 .xml이어야 합니다. .xmi 파일이 애플리케이션 또는 모듈에 포함된 경우 제품에서 .xmi 파일을 무시합니다.

그러나 Java EE 5 이상 모듈은 Java EE 5 이전 파일이 포함되어 있고 .xmi 파일 이름 확장자가 사용된 애플리케이션에 있을 수 있습니다.

ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi, ibm-portlet-ext.xmi 파일은 .xmi 파일 확장자를 계속 사용합니다.

sptcfg

ieClassId

Internet Explorer용 Java 플러그인 COM 클래스 ID.

<jsp:plugin> 태그가 이 값을 사용합니다. 기본 classidclsid:8AD9C840-044E-11D1-B3E9-00805F499D93입니다.

javaEncoding

.java 파일이 생성되고 Java 컴파일러에 의해 컴파일될 때 사용되는 인코딩을 지정합니다. JSP 페이지의 페이지 인코딩이 UTF-8 호환 가능이 아닐 때 이 매개변수를 설정하십시오. javaEncoding이 설정되면 인코딩은 -encoding 인수를 통해 Java 컴파일러로 전달됩니다. 인코딩은 Jikes에 의해 지원되지 않는다는 것을 참고하십시오. 기본값은 UTF-8입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

jdkSourceLevel

이 JSP 엔진 매개변수가 WebSphere Application Server 버전 6.1에 소개됩니다. 컴파일 compileWithAssert가 버전 6.1에서 작동하더라도 compileWithAssert 매개변수 대신 이 매개변수를 사용하십시오.

매개변수의 기본값은 17입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다. 다음은 jdkSourceLevel 매개변수 값입니다.
  • 13은 JDK 1.4, JDK 5.0, JDK 6.0 및 JDK 7.0의 모든 새 언어 기능을 사용 불가능으로 설정합니다.
  • 14는 어설션 기능의 사용을 사용 가능하게 하고 JDK 5.0, JDK 6.0 및 JDK 7.0의 모든 새 언어 기능을 사용 불가능으로 설정합니다.
  • 15는 어설션 기능의 사용을 사용 가능하게 하고 JDK 6.0 및 JDK 7.0의 모든 새 언어 기능을 사용 불가능으로 설정합니다.
  • 16은 어설션 기능의 사용을 사용 가능하게 하고 JDK 7.0의 모든 새 언어 기능을 사용 불가능으로 설정합니다.
  • 17은 JDK 7.0의 새 기능의 사용을 사용 가능하게 합니다.
  • 18은 JDK 8.0의 새 기능의 사용을 사용 가능하게 합니다.

jspClassLoaderLimit

WebSphere Application Server는 애플리케이션에서 각 JSP에 대한 JSPExtensionClassLoader 오브젝트를 작성합니다. 따라서 이러한 오브젝트가 증가된 원시 메모리를 사용할 수 있고 이로 인해 OutOfMemoryException이 발생할 수 있습니다. 이 정수 값은 메모리에 로드되도록 하려는 JSPExtensionClassLoader 오브젝트 수를 판별합니다.

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

jspClassLoaderExclusionList

jspClassLoaderLimit가 메모리에 로드된 채로 유지하기 위한 JSPExtensionClassLoader 오브젝트의 수를 지정하는 반면, 이 쉼표로 구분된 JSP 값의 목록은 JSP가 jspClassLoaderLimit에 의해 설정된 한계와 상관 없이 로드 해제되지 않는 것을 표시합니다.

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

jsp.file.extensions

네 개의 표준 확장자(.jsp, .jspx, .jsw.jsv) 이외의 확장자를 가지는 JSP 파일의 경우, 이 매개변수를 사용하여 이 확장자를 구성할 수 있습니다. 이러한 확장자가 표준 확장자에 추가됩니다.

이를 수행하기 위해 선호되는 방법은 web.xml에서 <jsp-property-group>을 작성하고 각 확장자에 대해 <url-pattern> 태그를 추가하는 것입니다.

JSP 엔진은 콜론과 세미콜론으로 구분되는 파일 확장자의 목록을 처리할 수 있습니다. 예를 들어, .ext1;.ext2:.extn입니다.

keepgenerated

처리의 변환 단계 동안 JSP 컴파일러에 의해 생성되는 Java 파일이 유지된다는 것을 표시합니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

keepGeneratedclassfiles

처리의 변환 단계 동안 JSP 컴파일러에 의해 생성되는 클래스 파일이 유지된다는 것을 표시합니다. 이 매개변수에 대한 기본값은 true입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

modifyPageContextVariable

컴파일되는 태그 파일의 변환 단계 중에 JSP 컨테이너는 pageContext 오브젝트에 대한 PageContext 변수를 내재적으로 사용합니다. 태그 파일에서 pageContext 변수를 내재 변수 이름으로 사용하면 JSP 스펙을 준수하지 않게 됩니다. 컴파일 오류가 태그 파일에서 로컬 pageContext 변수를 사용하는 애플리케이션에 대해 발생하면 modifyPageContextVariable 속성을 true로 설정하여 태그 파일에 대해 생성된 Java 코드에서 pageContext 변수 이름의 사용을 제거하십시오.

recompileJspOnRestart

처음으로 파일에 대한 애플리케이션 시작이 요청된 후 JSP 파일이 다시 변환되고 재컴파일되는지 여부를 판별합니다. recompileJspOnRestart가 false이면 매개변수 disableJspRuntimeCompilationtrue가 아닌 경우 해당 JSP 파일에 대한 첫 번째 요청에서 필요한 경우 JSP 파일이 컴파일됩니다. 이 매개변수에 대한 기본값은 false입니다.

reloadEnabled

JSP 파일 또는 종속 항목(trackDependencies 참조)이 수정되는 경우 런타임 시 JSP 파일이 변환되고 컴파일되는지 여부를 판별합니다.

reloadEnabled가 false인 경우, 매개변수 disableJspRuntimeCompilation이 true가 아니면, 필요한 경우 첫 번째 요청 시 JSP 파일이 계속 컴파일됩니다. 이 매개변수에 대한 기본값은 false입니다.

이 JSP 엔진 매개변수가 지정되지 않으면 다시 로드하는 웹 모듈 클래스에 대해 동등한 웹 컨테이너 매개변수가 사용됩니다. 그러나 배치 디스크립터가 Servlet 2.2 레벨에 있는 애플리케이션의 경우, 기본값은 true입니다. 이는 WebSphere Application Server 버전 4.x에서 마이그레이션되는 애플리케이션의 지원을 위해 수행됩니다.

reloadInterval

다시 로드가 사용되면 reloadInterval은 JSP 파일이 구식인지 여부를 보기 위한 검사 사이의 지연을 판별합니다.

예를 들어, reloadInterval이 5일 경우, JSP 엔진은 JSP 파일의 현재 요청 최소 5초 전에 수행된 마지막 점검 시에만 JSP 파일의 최신성 여부를 알아보기 위해 점검합니다. reloadInterval이 클수록, JSP 엔진이 JSP 파일 재로드 요구를 확인하는 빈도가 줄어듭니다. 이 JSP 엔진 매개변수가 지정되지 않으면 다시 로드하는 웹 모듈 클래스에 대해 동등한 웹 컨테이너 매개변수가 사용됩니다. 그러나, 배치 디스크립터가 서블릿 2.2 레벨에 있는 애플리케이션의 경우, 기본값은 5초입니다. 이는 WebSphere Application Server 버전 4.x에서 마이그레이션되는 애플리케이션의 지원을 위해 수행됩니다.

reusePropertyGroupConfigOnInclude

전이 사용자용 전이 사용자용: JSP 속성 그룹에 정의되는 대부분의 특성은 전체 변환 단위에 적용됩니다(예: 포함 지시문을 사용하여 포함하는 모든 파일 및 해당 URL 패턴에 의해 일치되는 요청된 JSP 파일). 예외는 페이지 인코딩 및 is-xml 특성이고, 해당 URL 패턴에 의해 일치되는 각 JSP 파일에 각각 적용됩니다. WebSphere Application Server 버전 8.0 이전 설정으로 동작을 되돌리려면 속성을 true로 설정하여 두 개의 특성 값을 전체 변환 단위에 적용하십시오.trns

scratchdir

생성된 클래스 파일이 작성되는 디렉토리를 지정합니다.

시스템 특성 com.ibm.websphere.servlet.temp.dir이 서버 범위에서 scratchdir 옵션을 설정하는 데 사용됩니다. JSP 엔진 scratchdir 매개변수의 우선순위가 시스템 특성 com.ibm.websphere.servlet.temp.dir보다 높습니다. 이 매개변수에 대한 기본값은 profile_root/temp입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

문제점 방지 문제점 방지: 동일한 레벨의 JSP 임시 디렉토리 또는 구성 임시 디렉토리 아래에 위치하는 디렉토리 경로를 지정하지 마십시오. 구성 임시 디렉토리에 대한 기본 위치는 profile_home/config/temp입니다.

예를 들어, JSP 임시 디렉토리의 위치를 profile_home/config/temp로 변경하거나 profile_home/config/temp/temp의 구성 임시 디렉토리에서 JSP 임시 디렉토리를 위치하는 경우 처리 오류가 발생합니다.

gotcha

trackDependencies

다시 로드가 사용되면 trackDependencies는 JSP 엔진이 JSP 파일 자체에 대한 수정사항 및 요청된 JavaServer Pages 파일 종속성에 대한 수정사항을 추적하는지 여부를 판별합니다.

JSP 엔진이 추적하는 종속성은 다음과 같습니다.
  1. JSP 파일에 정적으로 포함되는 파일
  2. JSP 파일에서 참조되는 태그 파일(JAR에 있는 태그 파일 제외)
  3. JSP 파일에서 참조되는 TLD 파일(JAR에 있는 TLD 제외)
기본값은 false입니다.

useFullPackageNames

useFullPackageNamestrue면 JSP 엔진은 전체 패키지 이름을 사용하여 JSP 클래스를 생성하고 로드합니다.

기본은 동일한 패키지에서 모든 JSP 클래스를 생성하는 것입니다. (자세한 정보는 생성된 .java 및 .class 파일 주제에 대한 패키지 및 디렉토리를 참조하십시오.) JSP 엔진의 클래스 로더는 JSP 클래스가 모두 동일한 패키지에 있을 때 해당 클래스를 로드하는 방법을 인식합니다.

동일한 패키지에서 모든 JSP 클래스를 생성하는 기본 방법은 더 작은 파일 시스템 경로를 생성하는 이점이 있습니다. 전체 패키지 이름에는 jsp-file 속성을 사용하지 않고 web.xml 파일에서 서블릿으로 사전 컴파일된 JSP 클래스 파일의 구성을 사용할 수 있는 이점이 있습니다. 이는 결과적으로 그런 모든 JSP 클래스를 로드하기 위해 사용되는 단일 클래스 로더, 웹 애플리케이션의 클래스 로더입니다. 마찬가지로 JSP 엔진의 구성 속성 useFullPackageNamesdisableJspRuntimeCompilation이 둘 다 true면 JSP 파일이 web.xml 파일에서 서블릿으로 구성되지 않은 경우에도 단일 클래스 로더가 모든 JSP 클래스를 로드하는 데 사용됩니다.

useFullPackageNamestrue로 설정된 경우, 일괄처리 컴파일러가 웹 모듈의 WEB-INF 디렉토리에서 generated_web.xml 파일을 생성합니다. 이 파일에는 성공적으로 변환되고 컴파일된 각 JSP 파일에 대한 서블릿 구성 정보가 포함됩니다. 정보는 선택적으로 JSP 파일이 웹 컨테이너에 의해서 서블릿으로 로드되도록 웹 모듈 web.xml 파일로 복사될 수 있습니다. 이런 방식으로 JSP 파일이 서블릿으로 구성된 경우, JSP 파일이 수정되었을 때 런타임에서 JSP 파일의 다시 로드가 수행되지 않습니다. 이는 JSP 파일이 일반 서블릿으로 처리되고 이에 대한 요청이 JSP 엔진을 통해 전달되지 않기 때문입니다.이 매개변수에는 Java 소스의 재생이 필요합니다.

useImplicitTagLibs

JSP 엔진은 JSP 엔진에서 제공하는 태그 라이브러리에 대해 태그 라이브러리 접두부로서 tsx 및 jsx를 명시적으로 인식합니다. tsx 또는 jsx가 고객의 태그 라이브러리에 대한 접두부로 사용되면 고객의 태그 라이브러리가 명시적 태그 라이브러리를 대체합니다. 그러나, 명시적 태그 라이브러리가 JSP 엔진에 의해 캐시됩니다. 명시적으로 이 매개변수를 false로 설정하면 엔진이 명시적 태그 라이브러리를 캐시하지 않고 자원을 저장하지 않는다는 것을 말합니다. 이 매개변수에 대한 기본값은 true입니다.

tsx 태그에 대한 기본 URL은 http://websphere.ibm.com/tags/tsx입니다. jsx 태그에 대한 기본 URI는 http://websphere.ibm.com/tags/jsx입니다.

기본 URI 이외의 다른 URI로 tsx 또는 jsx 태그 라이브러리 접두부를 정의해야 할 수 있습니다. 다른 URI로 동일한 라이브러리 접두부를 정의해야 할 수 있습니다. 이러한 두 가지 상황에서 com.ibm.wsspi.jsp.allowtaglibprefixredefinition 사용자 정의 특성을 설정하여 변환 오류를 방지할 수 있습니다. 자세한 정보는 JavaServer Pages 사용자 정의 특성에 대한 문서를 참조하십시오.

useInMemory

JSP 엔진이 시스템 메모리에서 Java 코드를 변환하고 컴파일 한다는 것을 지정합니다.

이 옵션이 설정되지 않을 때, JSP 엔진은 다음 단계를 수행해야 합니다.
  1. 파일 시스템에 변환된 Java 파일을 작성하십시오.
  2. 파일 시스템에서 Java 파일을 로드하십시오.
  3. 코드를 클래스 파일로 컴파일하십시오.
  4. 파일 시스템에 클래스를 작성하십시오.
  5. 클래스 파일을 classloader에 로드하십시오.
문제점 방지 문제점 방지: .class 파일 또는 .java 파일이 시스템 디스크에 작성되지 않습니다. 사전 컴파일된 JSP 코드에서 JAR 파일을 디버깅하거나 작성하는 경우 이 옵션을 사용 안함으로 설정해야 합니다. gotcha

useJikes

Jikes가 Java 소스를 컴파일하기 위해 사용되는지 여부를 지정합니다.

참고: Jikes는 WebSphere Application Server와 함께 제공되지 않습니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

usePageTagPool

개별 JavaServer Pages 기초에서 사용자 정의 태그 핸들러의 재사용을 사용하거나 사용하지 않습니다.이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

useThreadTagPool

스레드 레벨 태그 핸들러 풀링이 사용될 때, 태그 핸들러는 개별 요청을 통해 단일 웹 모듈에서 모든 JSP 페이지에 걸친 사용자 정의 조치의 개별 발생 사이에서 재사용될 수 있습니다. 이 매개변수에 대한 기본값은 false입니다. 이 매개변수에는 Java 소스의 재생이 필요합니다.

사용자 정의 태그 핸들러 재사용을 사용으로 설정하면 재사용될 태그의 기능과 관련하여 태그 핸들러 코드에서 문제점이 발생할 수 있습니다. 사용자 정의 태그 핸들러는 항상 두 가지를 수행해야 합니다.
  • 태그 핸들러의 릴리스 방법은 해당 상태를 재설정하고 사용한 개인용 자원을 릴리스해야 합니다. JSP 엔진은 태그 핸들러가 가비지를 수집하기 전에 릴리스 메소드가 호출되는지 확인합니다.
  • doEndTag 메소드에서 이 인스턴스와 연관된 모든 인스턴스 상태가 재설정되어야 합니다.

verbose

생성된 Java 소스 코드를 컴파일할 때 컴파일이 상세한 출력을 생성한다는 것을 표시합니다. 이 매개변수를 true로 설정하는 효과는 -verbose 옵션이 Java 컴파일러로 전달되는 것입니다. 이 매개변수에 대한 기본값은 false입니다.이 매개변수에는 Java 소스의 재생이 필요합니다.

사용자 정의 태그 핸들러 재사용을 사용으로 설정하면 재사용될 태그의 기능과 관련하여 태그 핸들러 코드에서 문제점이 발생할 수 있습니다. 사용자 정의 태그 핸들러는 항상 두 가지를 수행해야 합니다.
  • 태그 핸들러의 릴리스 방법은 해당 상태를 재설정하고 사용한 개인용 자원을 릴리스해야 합니다. JSP 엔진은 태그 핸들러가 가비지를 수집하기 전에 릴리스 메소드가 호출되는지 확인합니다.
  • doEndTag 메소드에서 이 인스턴스와 연관된 모든 인스턴스 상태가 재설정되어야 합니다.
    경고:
    페이지 또는 스레드 태그 풀링을 사용할 때, doEndTag 메소드가 예외의 상황에서 호출되지 않고 선택 취소되어야 하는 서비스 상태가 있으면 TryCatchFinally 인터페이스가 구현되어야 합니다.

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rweb_jspengine
파일 이름:rweb_jspengine.html