当前位置:首页 > 服务端 > 【IE下载文件——后台报ClientAbortException:java.io.IOException错误】

【IE下载文件——后台报ClientAbortException:java.io.IOException错误】

一.场景

  页面上提供下载Excel文件的功能,用于下载报表中的数据。

  分别在chrome,IE中进行测试。在chrome中正常,在IE中后台报错。

二.错误信息

org.apache.catalina.connector.ClientAbortException: java.io.IOException
    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:407)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:371)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:432)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:420)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
    at jxl.write.biff.CompoundFile.writeExcelData(CompoundFile.java:249)
    at jxl.write.biff.CompoundFile.write(CompoundFile.java:233)

    at jxl.write.biff.File.close(File.java:95)
    at jxl.write.biff.WritableWorkbookImpl.close(WritableWorkbookImpl.java:352)

Caused by: java.io.IOException
    at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:205)
    at org.apache.coyote.http11.InternalAprOutputBuffer.access$100(InternalAprOutputBuffer.java:37)
    at org.apache.coyote.http11.InternalAprOutputBuffer$SocketOutputBuffer.doWrite(InternalAprOutputBuffer.java:235)
    at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)

三.解决方案

<一>错误分析

   1.从网上查找,ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由于处理http连接时,正在输出内容时,用户关闭了IE,会出现一个"ClientAbortException",属于I/O处理中出现的一个异常,应用服务器应该会捕捉。

 2. 客户端造成的,没有办法控制,而且后台会记录这个异常。

 3.我发下并没有在输入的时候关闭浏览器的操作,不过可以确定一点是IE浏览器连接之后,强制关闭造成的IO异常,导致客户端请求中断;

<二>问题根源

  操作中发现,IE这个时候下载的动作不是浏览器自身的下载器进行的,而是迅雷插件执行的下载动作。如图,

       【IE下载文件——后台报ClientAbortException:java.io.IOException错误】 _ JavaClub全栈架构师技术笔记

  因此,我就想会不会是迅雷的组件阻断了IE下载器的请求,导致后台报错。

  于是,我想办法恢复IE默认的下载器的功能。过程如下,

  (1)Internet选项,打开 ”管理下载项“:

  (2)在工具和扩展中找到了,迅雷下载支持,并且是启用的,然后禁用它:

    

  (3)重启 IE之后:进行下载操作,结果一切正常,问题解决:

 

        

         查看后台没有报错信息。问题解决。

    

作者:北极星之光
来源链接:https://www.cnblogs.com/beijixingzhiguang/p/4990984.html

版权声明:
1、Java侠(https://www.javaxia.com)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaxia.com/server/125766.html

标签: IOException
分享给朋友:

“【IE下载文件——后台报ClientAbortException:java.io.IOException错误】” 的相关文章