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

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

我正在使用静态包括如

 

但页面没有加载…我也尝试动态包括如

  \ 

没有运气..

任何帮助都会得到满足。

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

   mappedfile false  

这并没有解决64 KiB限制,但有助于以后发生这种情况因为生成的代码比较短。

相反,我发现上面提到的多个文件答案的解决方案更好,即添加

  mappedfile false  

进入Web.XML文件。 但我没有在我的web.XML文件中找到“JspServlet”并找到了一个ref链接并放置了完整的映射

   jsp org.apache.jasper.servlet.JspServlet  mappedfile false   

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

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

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

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

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

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

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

还要注意,任何强常量的长度都不包含在该方法中,因此您只需在该单个方法中使用一些荒谬的逻辑(注意:JSP被编译为Servlet, _jspService方法是否包含大部分内容) JSP)。

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

另请注意,在这种情况下, <%@ include只是两种不同的方式来做同样的事情,所以这不会产生任何影响。