java.io.IOException: Error: JSP Buffer overflow

  • 錯誤

jsp頁面報錯以下:html

 1 Stacktrace:
 2     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
 3     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
 4     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
 5     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
 6     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
 7     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
 8     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
 9     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
10     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
11     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
12     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
13     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
14     javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
15     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
16     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
17     com.tera.sys.filter.AccessFilter.doFilter(AccessFilter.java:80)
18     org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
19     org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
20     org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
21     org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
22 
23 root cause
24 
25 java.io.IOException: Error: JSP Buffer overflow
26     org.apache.jasper.runtime.JspWriterImpl.bufferOverflow(JspWriterImpl.java:158)
27     org.apache.jasper.runtime.JspWriterImpl.write(JspWriterImpl.java:328)
28     java.io.Writer.write(Writer.java:157)
29     org.apache.jsp.WEB_002dINF.jsp.erule.manage.rulelHis.compareRule_jsp._jspx_meth_c_005fif_005f5(compareRule_jsp.java:428)
30     org.apache.jsp.WEB_002dINF.jsp.erule.manage.rulelHis.compareRule_jsp._jspService(compareRule_jsp.java:195)
31     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
32     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
33     org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
34     org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
35     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
36     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
37     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
38     org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
39     org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
40     org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)
41     org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)
42     org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
43     org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
44     org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
45     javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
46     javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
47     org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
48     com.tera.sys.filter.AccessFilter.doFilter(AccessFilter.java:80)
49     org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
50     org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
51     org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
52     org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
53 
54 note
View Code

 

  • 分析

jsp頁面報錯,後臺往前臺輸出的數據量小的時候不報錯,數據量大的時候報錯。這時忽然想起來有一爲了處理緩存問題,在jsp頁面加了設置(最後緩存問題經過其餘方式解決了,這個屬性也沒刪,就留了下來)以下圖。java

 

  • 解決辦法
  1. 是去掉該屬性
  2. 也能夠增長新屬性(buffer=」300kb」)設置緩存大小(不推薦,後臺數據是動態的,不能肯定大小)

    <%@ page contentType=」text/html;charset=UTF-8″ autoFlush=」false」 buffer=」300kb」%>web

  • 總結

autoFlush屬性用來指定緩衝區是否自動進行強制輸出。若是設置爲true,那麼當緩衝區滿的時候仍然可以輸出正常;若是設置爲false,那麼當緩衝區滿的時候,將會產生異常。默認爲truespring

相關文章
相關標籤/搜索