org.apache.catalina.connector
Class ClientAbortException
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
org.apache.catalina.connector.ClientAbortException
- All Implemented Interfaces:
- java.io.Serializable
ERROR [http-8080-5]: (ExportPdfController.java:196) -
ClientAbortException:
java.io.IOException
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:368)
at org.apache.catalina.
connector.OutputBuffer.writeBytes(OutputBuffer.java:392)
at org.apache.catalina.
connector.OutputBuffer.write(OutputBuffer.java:381)
at org.apache.catalina.
connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:109)
at com.shihuan.web.controller.ExportPdfController.writefile(ExportPdfController.java:189)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.
connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:879)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:600)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1703)
at java.lang.Thread.run(Thread.java:619)
WARN [http-8080-4]: (MyInterceptor.java:60) - 調用方法:com.shihuan.web.controller.ExportPdfController.writefile(); 花費時間:153 ms.返回網頁:原網頁
Caused by:
java.io.IOException
at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:712)
at org.apache.coyote.http11.InternalAprOutputBuffer$SocketOutputBuffer.doWrite(InternalAprOutputBuffer.java:742)
at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:118)
at org.apache.coyote.http11.InternalAprOutputBuffer.doWrite(InternalAprOutputBuffer.java:552)
at org.apache.coyote.Response.doWrite(Response.java:560)
at org.apache.catalina.
connector.OutputBuffer.realWriteBytes(OutputBuffer.java:364)
... 35 more
-------------------------------------------------------------------------------------------------------------------
上述問題分析:
在網上查找了了下原因,大概歸結為:
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由於處理http連接時,正在輸出內容時,用戶關閉了IE,會出現一個"ClientAbortException",屬於I/O處理中出現的一個異常,應用服務器應該會捕捉。
Connection reset by peer的原因:
經常出現的Connection reset by peer: 原因可能是多方面的,不過更常見的原因是:
①:服務器的並發連接數超過了其承載量,服務器會將其中一些連接Down掉;
②:客戶關掉了瀏覽器,而服務器還在給客戶端發送數據;
③:瀏覽器端按了Stop
很多人都說是客戶端造成的,沒有辦法控制,而且后台會記錄這個異常,日志也會瘋狂爆滿,時間長了,肯定會DOWN掉的.
本人覺得大多數可能是第二條問題的原因引起的,即大多數瀏覽器阻止了窗口的彈出,相當於客戶關掉了瀏覽器,可等效於瀏覽器端按了Stop ,而這時服務器端還在給客戶端發送數據,所以產生了上異常,經過本人的測試,發現只需將網站地址(或本機地址)加入"受信任的站點"即可解決問題,因為這樣設置了以后,瀏覽器就不會阻止窗口的彈出了,這樣瀏覽器就會等到服務器端發送完數據后再進行下面的動作.因而異常就不會發生了.
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由於處理http連接時,正在輸出內容時,用戶關閉了IE,會出現一個"ClientAbortException",屬於I/O處理中出現的一個異常,應用服務器應該會捕捉。
Connection reset by peer的原因:
經常出現的Connection reset by peer: 原因可能是多方面的,不過更常見的原因是:
①:服務器的並發連接數超過了其承載量,服務器會將其中一些連接Down掉;
②:客戶關掉了瀏覽器,而服務器還在給客戶端發送數據;
③:瀏覽器端按了Stop
很多人都說是客戶端造成的,沒有辦法控制,而且后台會記錄這個異常,日志也會瘋狂爆滿,時間長了,肯定會DOWN掉的.
本人覺得大多數可能是第二條問題的原因引起的,即大多數瀏覽器阻止了窗口的彈出,相當於客戶關掉了瀏覽器,可等效於瀏覽器端按了Stop ,而這時服務器端還在給客戶端發送數據,所以產生了上異常,經過本人的測試,發現只需將網站地址(或本機地址)加入"受信任的站點"即可解決問題,因為這樣設置了以后,瀏覽器就不會阻止窗口的彈出了,這樣瀏覽器就會等到服務器端發送完數據后再進行下面的動作.因而異常就不會發生了.
上述問題解決辦法: "工具->internet(選項..)->安全->受信任的站點->站點",將地址加入即可避免這個異常。
-------------------------------------------------------------------------------------------------------------------
今天也遇到這個問題了,查看了下tomcat源碼對於這個異常的描述無非也就是說請求被中斷,我的原因是由於調用導出文件方法是用這樣子的代碼的
先執行了onclick中js 然后又去執行了href中js引起的,導致前面的請求被中斷。改成 或者 問題就解決了 主要是懶復制前面的寫法了 要是自己寫的話也肯定是也不會寫成這種形式。 所以建議樓主還是從請求為什么會被中斷着手去找原因吧。看看在輸出流在還沒有結束的時候是不是又發送了新的請求。
先執行了onclick中js 然后又去執行了href中js引起的,導致前面的請求被中斷。改成 或者 問題就解決了 主要是懶復制前面的寫法了 要是自己寫的話也肯定是也不會寫成這種形式。 所以建議樓主還是從請求為什么會被中斷着手去找原因吧。看看在輸出流在還沒有結束的時候是不是又發送了新的請求。
本文轉自http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380147d8c8c4668d4e419ce3b4c413037bfa6663f405a8e906b6075a91d57eaf76223360123b59b8fc20bdfac925f75ce786a6459db0144dc48f2971a729066cd1afeae69f0ba872592de838d84030f8c005527c0b6dc1051438829ab496df4a7e95f142c&p=9765c64ad4934eac59eecb685f0e89&newp=c272ce1785cc43ec10bd9b7d0c1580231610db2151d7d1156b82c825d7331b001c3bbfb42324110fd8c27a6d01ad4d56edf33473340127a3dda5c91d9fb4c57479cb6f&user=baidu&fm=sc&query=connector%2EClientAbortException%3A&qid=a9c593a8000392fe&p1=4
