字节限制重新加载jsp页面时出现问题?

时间:2011-09-21 07:19:59

标签: java jsp

我是jsp的新手。我得到的错误是方法的代码     _jspService(HttpServletRequest,HttpServletResponse)超出65535字节限制

我正在使用静态包含,例如

<%@ include file="/jsp/common/createScriptMsg.jsp" %> 

但页面未加载... 我也尝试动态包括诸如

<jsp:include page="/jsp/common/createScriptMsg.jsp" /> \

没有运气..

任何帮助都会得到满足。

7 个答案:

答案 0 :(得分:14)

我们通过在Tomcat-Config中为JspServlet设置mappedfilefalse来“修复”这个。 转到%TOMCAT_HOME%/conf/web.xml并将以下init-param添加到JspServlet:

    <init-param>
        <param-name>mappedfile</param-name>
        <param-value>false</param-value>
    </init-param>

这不能解决64 KiB限制,但有助于以后发生很多,因为生成的代码比较短。

答案 1 :(得分:3)

而是在上面提到的多个文件中提到答案的解决方案更好了i-e添加

<init-param>
        <param-name>mappedfile</param-name>
        <param-value>false</param-value>
    </init-param>

进入Web.XML文件。但我没有找到&#34; JspServlet&#34;在我的web.XML文件中找到了ref link并放置了完整的映射

 <servlet>
         <servlet-name>jsp</servlet-name>
         <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param> 
            <param-name>mappedfile</param-name>
             <param-value>false</param-value>
        </init-param>
     </servlet> 

对我有用。希望这会对某人有所帮助。

答案 2 :(得分:1)

当您运行Jsp时,默认情况下它会转换为Java代码。在Java中,单个try catch循环中只能容纳65K代码。所以不要在单个jsp中放入太多代码,而是可以将Jsp文件的数量导入到单个jsp文件中。 或者使用JSTL。

答案 3 :(得分:1)

我从昨天起就遇到过这个问题,我使用动态include <jsp:include将我的JSP分成两个JSP,但它本身并没有帮助我,请确保你还添加了所有标签lib和import语句。 <jsp:include就像一个函数一样工作,所以如果你在两个或更多的JSP中分解它们,它们需要你原始JSP中的相同导入。希望它适合你,它对我有用。

答案 4 :(得分:0)

如果其他人偶然发现这种情况,在我的情况下,它只是一个JSP,其中包含多个其他JSP文件的include语句(其中一些不止一次),所以只检查一下所有内容都解决了问题。

答案 5 :(得分:0)

我在tomcat web xml中添加了trimSpaces也作为init-param,它解决了这个问题。

答案 6 :(得分:-1)

将一些逻辑移出JSP页面并转移到专用bean中。

每个Java方法的65k字节限制非常高并且只有非常非常长的方法超过它。

另请注意,该方法中包含的任何强常量的长度都不是 ,因此您只需在该单个方法中使用一些荒谬的逻辑(注意:JSP会被编译为Servlet,而不是_jspService方法保存JSP的主要内容。

所以你只是有太多的逻辑。根本不应该在JSP中有任何逻辑(仅输出渲染)。

另请注意,<%@ include<jsp:include只是在这种情况下执行相同操作的两种不同方式,因此不会产生任何影响。