jsp文件過大,is exceeding 65535 bytes limit


今天修改jsp的時候,遇到了一個異常,Generated servlet error:The code of method _jspService(HttpServletRequest, HttpServletResponse) is exceeding the 65535 bytes limit。

原因: jsp的本質是servlet,tomcat編譯時會先將他轉換成java代碼,然后再進行編譯。 你的jsp編譯成生成的文件太大,導致報錯。

有下面幾個解決方法:

下面是第一個解決方案:

嘗試修改應用服務器的web.xml文件(在tomcat下位於conf目錄下,在jboss下位於server\default\deploy\jbossweb.sar目錄下 ),修改如下圖所示之處,加入紅框內的初始化參數。 這樣確實可以成功,但是,如果你把生產環境下的tomcat都更改,那不是很費時間,還可能出現其他的問題

 

所以,還有其他的修改方法,思路就是減少jsp頁面的大小。

下面是一種方法:

我們可以將jsp頁面的標簽聲明拿到web.xml中去聲明。

具體操作如下:1刪除jsp頁面中的C標簽和fmt標簽的引入。 即刪除這句話

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>

2找到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=”文件路徑/文件名 ”/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM