如何通过Tomcat检测JSP页面并将其转换为Servlet?

pvs*_*k10 4 java jsp tomcat

是否仅通过.jsp的页面扩展名检测到JSP页面?有没有其他方法可以检测到?

Vin*_*lds 9

Tomcat中的JSP页面由特定的servlet处理,该servlet用于处理在HTTP请求中.jsp.jspx在HTTP 请求中终止的所有请求.此配置存在于全局$CATALINA\conf\web.xml文件中,可以在其中找到以下重要行.请注意,这适用于Tomcat 6.

JSP Servlet注册

<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>
Run Code Online (Sandbox Code Playgroud)

JSP Servlet URL映射

<!-- The mapping for the JSP servlet -->
<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jsp</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.jspx</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

您可以为尚未映射到其他servlet的其他文件扩展添加更多URL映射,以便触发Jasper编译器,最终负责将JSP文件转换为相应的Java servlet,然后编译(使用Eclipse JDT编译器,默认情况下).有关配置过程中某些选项的更多信息,请参阅有关配置JasperTomcat文档.