當我們用Servlet導出圖片,或用JSP導出excel時,會彈出一個下載窗口,這時不點下載而點取消,則報下面的異常:
ClientAbortException Caused by: java.net.SocketException: Connection reset by peer: socket write error
在網(wǎng)上查找了了下原因,大概歸結為:
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由于處理http連接時,正在輸出內(nèi)容時,用戶關閉了IE,會出現(xiàn)一個"ClientAbortException",屬于I/O處理中出現(xiàn)的一個異常,應用服務器應該會捕捉。
Connection reset by peer的原因:
經(jīng)常出現(xiàn)的Connection reset by peer: 原因可能是多方面的,不過更常見的原因是:
①:服務器的并發(fā)連接數(shù)超過了其承載量,服務器會將其中一些連接Down掉;
②:客戶關掉了瀏覽器,而服務器還在給客戶端發(fā)送數(shù)據(jù);
③:瀏覽器端按了Stop
很多人都說是客戶端造成的,沒有辦法控制,而且后臺會記錄這個異常,日志也會瘋狂爆滿,時間長了,肯定會DOWN掉的.
本人覺得大多數(shù)可能是第二條問題的原因引起的,即大多數(shù)瀏覽器阻止了窗口的彈出,相當于客戶關掉了瀏覽器,可等效于瀏覽器端按了Stop ,而這時服務器端還在給客戶端發(fā)送數(shù)據(jù),所以產(chǎn)生了上異常,經(jīng)過本人的測試,發(fā)現(xiàn)只需將網(wǎng)站地址(或本機地址)加入"受信任的站點"即可解決問題,因為這樣設置了以后,瀏覽器就不會阻止窗口的彈出了,這樣瀏覽器就會等到服務器端發(fā)送完數(shù)據(jù)后再進行下面的動作.因而異常就不會發(fā)生了.
大概設置方式如下:"工具->internet(選項..)->安全->受信任的站點->站點",將地址加入即可.