本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Generated servlet error:The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit。
原因: jsp的本质是servlet,tomcat编译时会先将他转换成java代码,然后再进行编译。 你的jsp编译成生成的文件太大,导致报错。
<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>

重启Tomcat。

1、这样做只是让Tomcat不为JSP每行都添加print语句,但是实际上,当文件达到一定程度,还是会发生错误,所以最根本的还是尽量减小JSP大小。

TIP:mappedfile : 是否对每个输入行都用一条print语句来生成静态内容,以方便调试。缺省为true。

所以,还有其他的修改方法,思路就是减少jsp页面的大小。

我们可以将jsp页面的标签声明拿到web.xml中去声明。

删除jsp页面中的C标签和fmt标签的引入。 即删除这句话

<taglib> <taglib-uri>http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tld/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location> </taglib> </jsp-config>