jsp文件过大,is exceeding 65535 bytes limit

简介: jsp文件过大,is exceeding 65535 bytes limit
Generated servlet error:The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit。
原因: jsp的本质是servlet,tomcat编译时会先将他转换成java代码,然后再进行编译。 你的jsp编译成生成的文件太大,导致报错。

空行的去除没有帮助,减少引用的js会有小帮助,但在jsp本身很大的时候作用有限。尝试修改应用服务器的web.xml文件(在tomcat下位于conf目录下,在jboss下位于server\default\deploy\jbossweb.sar目录下 ),修改如下图所示之处,加入红框内的初始化参数。 这样确实可以成功,但是,如果你把生产环境下的tomcat都更改,那不是很费时间,还可能出现其他的问题


67e67c44d59b566dba46e98e05925d0e.png

<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 prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

找到web.xml,增加c标签和fmt标签的配置。

<jsp-config>
  <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> 


另一种方法:将JSP的一些代码分离开来抽取成一个JSP,然后动态引入 <jsp:include page=”文件路径/文件名 ”/>


我曾七次鄙视自己的灵魂:

第一次,当它本可进取时,却故作谦卑;

第二次,当它空虚时,用爱欲来填充;

第三次,在困难和容易之间,它选择了容易;

第四次,它犯了错,却借由别人也会犯错来宽慰自己;

第五次,它自由软弱,却把它认为是生命的坚韧;

第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;

第七次,它侧身于生活的污泥中虽不甘心,却又畏首畏尾。


相关文章
|
6月前
|
设计模式 前端开发 Java
了解 Spring MVC 架构、Dispatcher Servlet 和 JSP 文件的关键作用
Spring MVC 是 Spring 框架的一部分,是一个 Web 应用程序框架。它旨在使用 Model-View-Controller(MVC) 设计模式轻松构建Web应用程序。
99 0
|
6月前
|
Java 应用服务中间件
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
解决tomcat启动报错:无法在web.xml或使用此应用程序部署的jar文件中解析绝对的url [http:java.sun.com/jsp/jstl/core]
1310 1
|
12月前
|
前端开发 JavaScript Java
在jsp页面里面设置全局引用文件
在jsp页面里面设置全局引用文件
60 0
|
前端开发 JavaScript Java
前端——JSP中引入项目中的js文件或css文件或图片
前端——JSP中引入项目中的js文件或css文件或图片
|
Java 应用服务中间件 程序员
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
1308 0
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
|
JavaScript 前端开发 Java
JSP页面无法加载.js文件的解决方案
JSP页面无法加载.js文件的解决方案
|
前端开发 JavaScript Java
关于如何在Idea中创建JSP文件的思考
关于如何在Idea中创建JSP文件的思考
167 0
|
Java 应用服务中间件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
340 0
DreamWeaver CS5 搭建Tomcat服务器 运行Jsp文件
无法为JSP编译类:无法解析类型java.util.Map $ Entry从所需的.class文件间接引用它
无法为JSP编译类:无法解析类型java.util.Map $ Entry从所需的.class文件间接引用它
121 0
|
Java
IDEA运行jsp文件变成源码详细解决方案
IDEA运行jsp文件变成源码详细解决方案
482 0
IDEA运行jsp文件变成源码详细解决方案