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