JSP:方法_jspService(HttpServletRequest,HttpServletResponse)的代码超过了65535字节的限制

时间:2016-08-19 00:03:08

标签: jsp jboss

我正在将JDK 1.4 / JBoss 4.0.2(是的,它就是那个旧的!)应用程序迁移到JDK 8 / JBoss 6.4 EAP,并且遇到了一个产生错误的JSP页面的问题:

*The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit*

我理解为什么会发生这种情况,过去两天一直在使用自定义标记从JSP文件中提取代码,但它仍在发生。

在此期间,我决定将没有此问题的旧环境生成的Java代码与新环境进行比较,我发现生成的Java文件至少比旧文件大两倍。一。仔细观察就会发现,额外的大部分是我认为对out.write()方法调用进行非常差的优化。

例如,我在JSP中有以下简单代码:

<html>                  
<head>
<title>

没什么特别的。在旧生成的Java中,我看到:

out.write("\r\n<html>                  \r\n<head>\r\n<title>");

我认为标签后面有一些额外的空格。但是当我查看JBoss生成的新文件时,我看到了:

out.write("\r\n");
out.write("<html>                  \r\n");
out.write("<head>\r\n");
out.write("<title>");

所以我们有4个out.write调用,之前只需要一个。仔细查看代码,我一遍又一遍地看到这种模式。

我在这里寻找任何建议。自定义标签正在减少代码的大小,但是简单的选择已经消失了,我宁愿不完全重写这个JSP的所有4000行,因为当然,项目中没有时间,即使它是非常需要。

关于为什么我正在看到的JSP编译是如此糟糕的任何想法,有没有办法用更好的一个替换默认的JBoss 6.4 EAP JSP编译器?

0 个答案:

没有答案