首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修正方法_jspService(HttpServletRequest,HttpServletResponse)的代码超过65535字节限制的Jboss错误

如何修正方法_jspService(HttpServletRequest,HttpServletResponse)的代码超过65535字节限制的Jboss错误
EN

Stack Overflow用户
提问于 2019-10-18 06:03:21
回答 1查看 5.6K关注 0票数 1

在生成的java文件中,我遇到了一个发生在一行: 384的错误,方法代码

_jspService(HttpServletRequest,HttpServletResponse)

超过65535字节限制。

我已经尝试了几个解决方案,围绕网络和问题仍然存在。

我使用JBoss-5.1.0GA作为服务器。

下面是错误的堆栈跟踪。

代码语言:javascript
运行
复制
An error occurred at line: 384 in the generated java file
The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit

    Stacktrace:
            at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
            at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
            at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
            at org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
            at org.apache.jasper.compiler.Compiler.compile(Compiler.java:313)
            at org.apache.jasper.compiler.Compiler.compile(Compiler.java:300)
            at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
            at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:312)
            at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
            at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
            at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:638)
            at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:543)
            at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:480)
            at com.liferay.portlet.PortletRequestDispatcherImpl.dispatch(PortletRequestDispatcherImpl.java:307)
            at com.liferay.portlet.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.java:115)
            at com.liferay.portal.struts.PortletRequestProcessor.doInclude(PortletRequestProcessor.java:284)
            at com.liferay.portal.struts.PortletRequestProcessor.doForward(PortletRequestProcessor.java:255)
EN

Stack Overflow用户

发布于 2019-10-18 12:16:44

您的JSP太大/太复杂。你需要重构它

我们尝试过重构,但是它不起作用,有没有其他的解决方案?

不是的。

问题是Java虚拟机规范对编译后的Java方法中字节数施加了硬限制。(具体来说,类文件格式使用一个16位数字作为方法代码数组的两侧。)

Java编译器无法自动将太大的方法拆分为子方法。您必须自己在源代码级别进行操作。

使用JSP,JSP编译器将每个JSP转换为一个具有单个(大型) Java方法的类,除非您可以通过将一些逻辑移到单独的方法、类或.使用“动态包含”的JSPs;参见https://stackoverflow.com/a/5484509/139985

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58444809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档