Jsp页面,3800行,运行时出错,你有更大的页面么?讨论一下。
今天在项目中的一个页面中加了些表单元素,加了有一百多行,本地运行是可以,可是发布到OC4J上却报:Code too large for try statement!代码还原到3600行的版本时,就不会错了。也检查了下,代码,应该是没有问题的,本地能运行。
你们有更大的页面么?说说看呀。唉
异常如下:
11/09/19 11:30:16.408 NetService: JspServlet: unable to dispatch to requested page: Exception:oracle.jsp.provider.JspCompileException: <H3>Errors compiling:/app/ias101340/OracleAS_1/j2ee/hy3wuat/application-deployments/services/NetService/persistence/_pages/_pages/_jsp/_commonforwarder/_commonforwarder__booking__edit.java</H3><TABLE BORDER=1 WIDTH=100%><TR><TH ALIGN=CENTER>Line #</TH><TH ALIGN=CENTER>Error</TH></TR><TR><TD WIDTH=7% VALIGN=TOP><P ALIGN=CENTER>6629</TD><TD> code too large for try statement
catch (Throwable e) {
</TD></TR><TR><TD WIDTH=7% VALIGN=TOP><P ALIGN=CENTER>6634</TD><TD> code too large for try statement
catch (Exception clearException) {
</TD></TR><TR><TD WIDTH=7% VALIGN=TOP><P ALIGN=CENTER>53</TD><TD> code too large for try statement
try {
</TD></TR><TR><TD WIDTH=7% VALIGN=TOP><P ALIGN=CENTER>31</TD><TD> code too large
public void _jspService(HttpServletRequest request, HttpServletResponse response) throws java.io.IOException, ServletException {
</TD></TR></TABLE>
11/09/19 11:30:17.602 NetService: Error in errorPage /error.jsp
javax.servlet.ServletException
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.EvermindPageContext.handlePageThrowable(EvermindPageContext.java:899)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.EvermindPageContext.handlePageException(EvermindPageContext.java:816)
at _error._jspService(_error.java:58)
at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.4.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:724)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:414)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.EvermindHttpServletResponse.sendError(EvermindHttpServletResponse.java:1276)
at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:152)
at org.springframework.security.context.HttpSessionContextIntegrationFilter$OnRedirectUpdateSessionResponseWrapper.sendError(HttpSessionContextIntegrationFilter.java:498)
at oracle.jsp.runtimev2.JspReportUtil.sendError(JspReportUtil.java:112)
at oracle.jsp.runtimev2.JspReportUtil.sendError(JspReportUtil.java:84)
at oracle.jsp.runtimev2.JspReportUtil.reportException(JspReportUtil.java:143)
at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:757)
at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:414)
at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:287)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
at com.sinotrans.netservice.commonforwarder.action.CommonForwarderBookingAction.add(CommonForwarderBookingAction.java:98)
at com.sinotrans.netservice.commonforwarder.action.CommonForwarderBookingAction.doGet(CommonForwarderBookingAction.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
[解决办法]
还真没见过这么大的jsp,从错误信息来看确实是页面太大了,lz google下
[解决办法]
是编译成的java文件不能大于1m的原因 楼主可以去这里看看 http://www.iteye.com/topic/10424
[解决办法]
简单说
%@ include 基本等同于代码内联,就是把被引用的内容原样贴在引用处
jsp:include,相当于函数调用
[解决办法]
尽量拆 多用iframe
PS:上面说的3800是圣者遗物指的是一款游戏中的东西