日期:2014-05-18  浏览次数:20743 次

关于java.net.SocketException: Connection reset by peer: socket write error的问题请教!
大家好,本人在开发首页的地图导航显示数据时,遇到一些关于  
Exception   Processing   ErrorPage[errorCode=404,   location=/building.jsp]
ClientAbortException:     java.net.SocketException:   Connection   reset   by   peer:   socket   write   error的问题。
本功能大概是:在鼠标移动到某个城市时,将显示一个从数据库读取的城市生产总额和项目数等信息。
本人用了AJAX进行异步交互读取数据来显示。虽然能成功显示,但是在ECLIPSE的窗口总是会出现错误如上所示,经上网查后发现是可能自己在客户端做测试时用鼠标移动到下个城市太快的缘故吧,导致客户端不停刷新,造成无用的进程,虽然数据能正常显示,但我想请教各位高手有什么好的解决方案使后台不会有Connection   reset   by   peer:   socket   write   error提示出现,谢谢!

以下是我写的一些代码:
index.jsp:
//执行请求发送
function   send_request(url,strsearchoose)   {
                if   (url   !=   " ")   {
  //   获取一个XMLHttpRequest实例
                    var   req   =   newXMLHttpRequest();
  //alert(req);
  //   设置用来   从请求对象   接收回调通知   的句柄函数
                    var   handlerFunction   =   processRequest(req,strsearchoose);
  req.onreadystatechange   =   handlerFunction;
  //   打开一个联接到XXXservlet的HTTP   POST联接
  //   第三个参数表示请求是异步的
  req.open( "GET ",   url,   true);
  //   指示请求体包含form数据
req.setRequestHeader( "Content-Type ",   "application/x-www-form-urlencoded ");
  req.send(null);
    }   else   {
          alert( " ");
      }
                    }
/*初始化对象并发出XMLHttpRequest请求*/
function   newXMLHttpRequest()   {
var   xmlreq   =   false;
if   (window.XMLHttpRequest)   {
        //   在非Microsoft浏览器中创建XMLHttpRequest对象
xmlreq   =   new   XMLHttpRequest();
}   else   {
if   (window.ActiveXObject)   {
        //通过MS   ActiveX创建XMLHttpRequest
try   {
            //   尝试按新版InternetExplorer方法创建
xmlreq   =   new   ActiveXObject( "Msxml2.XMLHTTP ");
}
catch   (e1)   {
            //   创建请求的ActiveX对象失败
try   {
                //   尝试按老版InternetExplorer方法创建
xmlreq   =   new   ActiveXObject( "Microsoft.XMLHTTP ");
}
catch   (e2)   {
                //   不能通过ActiveX创建XMLHttpRequest
}
}
}
}
return   xmlreq;
}
function   processRequest(req,strsearchoose)   {
return   function   ()   {
        //   如果请求的状态是“完成”
if   (req.readyState   ==   4)   {
            //   检查是否成功接收了服务器响应
if   (req.status   == &n