Java 重新加载jsp页面时字节限制超出问题?
我是jsp新手。我得到的错误是方法的代码 _jspService(HttpServletRequest、HttpServletResponse)超过了65535字节的限制 我正在使用静态include,例如Java 重新加载jsp页面时字节限制超出问题?,java,jsp,Java,Jsp,我是jsp新手。我得到的错误是方法的代码 _jspService(HttpServletRequest、HttpServletResponse)超过了65535字节的限制 我正在使用静态include,例如 <%@ include file="/jsp/common/createScriptMsg.jsp" %> <jsp:include page="/jsp/common/createScriptMsg.jsp" /> \ 但是页面没有加载。。。 我也会尝试使
<%@ include file="/jsp/common/createScriptMsg.jsp" %>
<jsp:include page="/jsp/common/createScriptMsg.jsp" /> \
但是页面没有加载。。。
我也会尝试使用Dynamic include,例如
<%@ include file="/jsp/common/createScriptMsg.jsp" %>
<jsp:include page="/jsp/common/createScriptMsg.jsp" /> \
\
不走运
任何帮助都将是非常有用的。将一些逻辑从JSP页面中移出,放到专用bean中 每个Java方法的65k字节限制高得离谱,只有非常非常长的方法超过了这个限制 还要注意,任何强常量的长度都不包括在该方法中,因此在该方法中存在一些荒谬的逻辑(注意:JSP被编译成servlet,而
\uJSPService
方法持有JSP的主要内容)
所以你的逻辑太多了。JSP中不应该有任何逻辑(仅输出呈现)
还要注意,当您运行Jsp时,默认情况下它会转换为java代码。在Java中,在一个try-catch循环中只能容纳65K代码。因此,不要在单个jsp中放入太多代码,相反,您可以将jsp文件的数量导入到单个jsp文件中。 或者使用JSTL。我们通过在Tomcat配置中将JspServlet的
mappedfile
设置为false
来“修复”这个问题。
转到%TOMCAT_HOME%/conf/web.xml
并将以下init参数添加到JspServlet:
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
映射文件
假的
这并不能解决64kib的限制,但有助于它发生得更晚,因为生成的代码比以前短。如果其他人偶然发现了这一点,在我的例子中,它只是一个包含其他JSP文件的多个include语句的JSP(其中一些语句不止一次),所以只要检查一下所有的东西都被包含就解决了这个问题。我从昨天开始就遇到了这个问题,我使用dynamic include
将我的JSP拆分为两个JSP,而不是使我发现上面提到的答案解决方案的多个文件更加好
<init-param>
<param-name>mappedfile</param-name>
<param-value>false</param-value>
</init-param>
映射文件
假的
转换为Web.XML文件。但是我没有在web.XML文件中找到“JspServlet”,而是找到了一个完整的映射
<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>
jsp
org.apache.jasper.servlet.JspServlet
映射文件
假的
这对我很管用。希望这能帮助别人 我在tomcat web xml中添加了trimSpaces true作为init参数,它解决了这个问题。您好,1)如何使静态和动态包含?动态包含将解决此问题?2) 什么是专用豆?有联系吗?请帮忙。
和
实际上是完全不同的东西。后者只引用目标JSP文件,而不是包含目标JSP文件,它确实解决了65k字节的问题。此外,如果一个页面很复杂,并且需要处理大量需要呈现的实体类型(HTML、JS等),那么即使没有实际的“业务逻辑”,它也可能超出限制(计算、操作、数据库访问)帮助了我。谢谢:)它也确实帮助了我。谢谢