Theo phiên bản Tomcat được sử dụng, công cụ JSP do tomcat cung cấp sử dụng phiên bản Java mặc định cụ thể để biên dịch và chạy JSP.
Tomcat 7 sử dụng phiên bản 1,6
compilerSourceVM - Điều gì JDK phiên bản là nguồn tập tin tương thích với ? (Giá trị mặc định: 1.6)
compilerTargetVM - Phiên bản JDK nào là các tệp được tạo tương thích với? (Mặc định giá trị: 1,6)
Tomcat 8 sử dụng phiên bản 1,7
compilerSourceVM - Điều gì JDK phiên bản là nguồn tập tin tương thích với ? (Giá trị mặc định: 1.7)
compilerTargetVM - Phiên bản JDK nào là các tệp được tạo tương thích với? (Giá trị mặc định: 1.7)
Tomcat 9 sử dụng phiên bản 1,8
compilerSourceVM - Điều gì JDK phiên bản là nguồn tập tin tương thích với ? (Giá trị mặc định: 1.8)
compilerTargetVM - Phiên bản JDK nào là các tệp được tạo tương thích với? (Giá trị mặc định: 1.8)
Tất nhiên, bạn có thể thay đổi các phiên bản được sử dụng nếu giá trị mặc định không khớp với yêu cầu của bạn.
Bạn có thể làm điều đó bằng cách thay đổi các thông số init của servlet org.apache.jasper.servlet.JspServlet
tuyên bố trong toàn cầu $CATALINA_BASE/conf/web.xml
của bạn.
Ví dụ web.xml
của phân phối tomcat 8 xác định JspServlet theo cách này:
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
...
Ví dụ để xác định phiên bản 1.8
cả hai như là nguồn và mục tiêu cho các tập tin JSP, bạn nên thay đổi nó trong này cách:
...
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<!-- added params -->
<init-param>
<param-name>compilerSourceVM</param-name>
<param-value>1.8</param-value>
</init-param>
<init-param>
<param-name>compilerTargetVM</param-name>
<param-value>1.8</param-value>
</init-param>
<!-- end added params -->
<load-on-startup>3</load-on-startup>
</servlet>
...
Tuyệt vời. Cuối cùng, chúng tôi đã có thể nâng cấp lên Tomcat 7, nhưng chắc chắn có vẻ như giải pháp của bạn đã thực hiện được thủ thuật. –
Ngoài ra, bạn có thể thêm nó vào 'web.inf' của ứng dụng thay thế. –