uCosminexus Application Server, Web Container Functionality Guide
(1) When the JSP pre-compilation functionality is used
When compiling the JSP files using the JSP pre-compilation functionality, the class file generated from the JSP file and the version information file both are created. The version information file is output when the JSP pre-compilation functionality is executed and the version of the JSP file is coded.
In the following two cases, versions of JSPs are different:
- When the version information file and the version of the JSP specifications, corresponding to the Web application version for executing the Web application, are different
- When the version of the class files generated from JSP files using the JSP pre-compilation functionality and its corresponding version of the JSP specifications are different
The following table describes the operations of Web applications for above two cases:
Table 2-69 When the version information file and the version of the JSP specifications are different
Timing for changing file |
Operation of Web application |
Before starting Web applications |
Case 1 |
After starting Web applications |
For enabling reload |
Case 2 |
For disabling reload |
- Case 1
- If the JSP pre-compilation command is executed before starting a Web application, the message KDJE39522-E is output, when an attempt to start the Web application fails.
- Case 2
- Operations are same as the case 1 after re-starting the J2EE server or Web applications.
Table 2-70 When versions of class files and the JSP specifications are different
Timing for changing file |
Operation of Web application |
Before starting Web applications |
Case 3 |
After starting Web applications |
For enabling reload |
Case 4 |
For disabling reload |
Case 5 |
- Case 3
- In JSP files where <load-on-startup> is specified in web.xml
If true is specified in the WAR property file or the <start-notify-error> tag of cosminexus.xml, or if the tag specifications are omitted, the message KDJE39298-E will output, when an attempt to start the Web application fails.
If false is specified in the <start-notify-error> tag of cosminexus.xml, the message KDJE39298-E will output when you start the Web application, but the Web application will start successfully. However, during the request, the message KDJE39298-E will output, and the error code 500 (Internal Server Error) will returned.
- In JSP files in which <load-on-startup> is not specified in web.xml
During the initial request, the message KDJE39298-E will output, and the error code 500 (Internal Server Error) will returned.
- Case 4
- In the executed JSP file
Operations are same as the case 3 after re-starting the J2EE server or Web application.
- In the non-executed JSP file
Operations are same as the case 3 "In JSP files in which <load-on-startup> is not specified in web.xml".
- Case 5
- In the executed JSP file
When executing reload, the message KDJE39317-E will output resulting in the failure of JSP reload (error code 500 (Internal Server Error) returns from the corresponding request).
- In the non-executed JSP file
Operations are the same as in case 4 "In the non-executed JSP file".
- Note
- The cases (case 3, case 4, and case 5), with only different class files, are considered for overwriting the class files with different versions that are compiled by the JSP pre-compilation command. As a result, you cannot use the JSP pre-compilation functionality for starting Web applications.
- You cannot use the JSP pre-compilation functionality for starting Web applications because you cannot update the version information file after starting the Web application (case 2).
- In the case 1, when you start a Web application using the JSP pre-compilation functionality that is used for starting Web applications, an error does not occur because you have recreated the version information file itself. Also, for executing the JSP pre-compilation command before starting Web applications, the command will check the version. Also, when executing the command, a version mismatch might be detected and an error might occur.
- When you compile JSPs by specifying a separate JSP file during JSP pre-compilation, the version of the JSP specifications specified in the existing version information file will be compared with the version of the JSP specifications during the compilation. In such cases, if the versions will be different, the message KDJE39522-E will output and an error will occur. If a separate JSP file is not specified, the version information file will be recreated, and an error will not occur.
(2) When the JSP pre-compilation functionality is not used
When different class files are used for the Web application version during the compilation and execution, the message KDJE39334-I will output, and the JSP files and tag files will be compiled again.
The following table describes the re-compilation operation when the Web application during the compilation and execution are different:
Version for compilation |
Version for execution (version of JSP specifications) |
Version of web.xml |
File type |
Version of TLD |
2.2 |
2.3 |
2.4 |
2.5 |
2.2 |
JSP file |
-- |
-- |
-- |
2.0 |
2.1 |
2.3 |
-- |
-- |
N |
2.0 |
2.1 |
2.4 |
JSP file |
-- |
1.2#1 |
1.2 |
N |
2.1 |
Tag file |
2.0 |
-- |
-- |
N |
N#2 |
2.5, 3.0 |
JSP file |
-- |
1.2#1 |
1.2 |
2.0 |
N |
Tag file |
2.0 |
-- |
-- |
N |
N#2 |
2.1 |
-- |
-- |
2.0 |
N |
- Legend:
- --: Not applicable
- N: Not re-compiled
- 1.2: Re-compiled as per the JSP1.2 specifications
- 2.0: Re-compiled as per the JSP2.0 specifications
- 2.1: Re-compiled as per the JSP2.1 specifications
- #1
- If the version of web.xml is 2.2, operations are performed as Web application version 2.3, and therefore, re-compilation is done as per the JSP1.2 specifications.
- #2
- In the JSP2.1 specifications, the JSP specifications compliant with the JSP version defined in the TLD file are determined for tag files. Even if the Web application version is 2.5, the tag files can be executed as per the JSP2.0 specifications, and therefore, the file is not compiled again.
All Rights Reserved. Copyright (C) 2013, Hitachi, Ltd.