ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error

用struts做导出时候,页面功能看似一切正常,且文件导出成功,但是关闭导出成功确认弹窗后,后台代码报错,ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error。原因是,客户端导出时,与服务端通信采用的是长链接,当客户端关闭该操作时候,服务端并没有断开并关闭通信流,所以服务端会抛异常警告,短时间内看似乎并不会对系统产生什么影响,而这里遇到这个问题时,页面导出是用a标签直接请求,相当于在该页面再起一个长链接,此时如果文件下载成功或是取消下载,页面请求并没有结束,起码ie的左上角的加载图标一直在转圈,虽然后台报错用户看不见但页面这个问题很直观,即使你点一下其他功能或是页面它会自动关闭该链接并跳转其他请求,但是确确实实存在的,试过之前论坛里面的各位前辈的解决方案,但是并没有成功,后来,重写前台js,把之前a标签的直连,改由js触发通过window.location.href  地址 重新定向发现突然就再没有报错,至此,问题解决

你可能感兴趣的:(java,web,框架,struts,java,socket)