突破tomcat jsp编译65535行的限制

   使用tomcat时有可能会遇到其对jsp编译行数的限制,不能超过65535行!

   通常的解决办法是拆分页面,优化代码行数。因为tomcat做这样的限制肯定是有理由的。

   但是当需要快速修改老系统代码时,可能根本没有时间优化代码。而在删除注释、合并多行等手段也无法解决这个问题时,就需要突破tomcat的限制了。

   突破的手段非常简单:修改tomcat的相关配置。

   该配置文件为 tomcat/conf/web.xml

   以我机器为例:D:\apache-tomcat-6.0.39\conf\web.xml

   找到如下jsp servlet配置,我的tomcat配置在247行左右
    <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>


改为:
<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>
		<init-param>
            <param-name>mappedfile</param-name>
            <param-value>false</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>


  具体的原理我也不大清楚,但是根据配置来猜测,肯定是代码根据这个配置做出了行数限制。有兴趣的童鞋可以看看tomcat源码。

你可能感兴趣的:(tomcat,jsp,65535)