1.异常场景:

  在进行将数据用word导出或者Excel导出的时候。抛出的异常getOutputStream() has already been called for this response

导致的原因:

  出现这个异常是由于多次调用了response.getOutputStream() 或者在代码中既用了response.write(),也用了getOutputStream()导致出现的冲突,所引起的异常。在我的代码中,导出文件是采用了getOutputStream()的方式,而在统一异常处理中是使用了out.write()的方式向页面中输出错误信息引起的。

解决方案:所以只需改成相同的方式就可以了。或者在调用玩getOutputStream()方法完成时,显式的关闭这个输出流就可以。

2.异常场景:

  在进行将数据用word导出或者Excel导出的时候。抛出的异常org.apache.catalina.connector.ClientAbortException:java.io.IOException。后端代码中没有错误,在前端页面中也没有发现其他错误。就是到点击导出按钮时,有时会抛出这个异常,有时不会抛出这个异常。随机出现。

导致原因:

  出现这个异常是由于在向页面中输出信息的过程中,信息还没用输出完成,页面就已经关闭了或页面已经刷新了,导致输出流中断异常。而我的场景时,点击导出后,弹出框将会关闭,而在这个过程中,后台响应没有那么快,输出过程中窗口已经关闭了。

解决方案:

  1.前端页面中采用Ajax异步调用的方式,待页面完成响应完成后,将弹出框关闭;

  2.最笨的方法就是不关闭,禁用关闭按钮,待响应完成后,开启按钮,让用户关闭。

  

关于:org.apache.catalina.connector.ClientAbortException及getOutputStream() has already been called for this response的异常处理的更多相关文章

  1. (后台)org.apache.catalina.connector.ClientAbortException: null

    比如错误日志是这样的: org.apache.catalina.connector.ClientAbortException: null 那么问题基本上就是服务器准备进行response的时候,发现连 ...

  2. 再见:org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer

    这个问题我之前遇见多次了,今天又遇见了 2019-03-22 16:33:27.555 WebMvcConfigurer.java:144 ERROR - 接口 [/appservice/7za.ex ...

  3. org.apache.catalina.connector.ClientAbortException

    记个tomcat常见流输出中断异常 org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Conn ...

  4. 线上问题!----------org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe

    1.问题出现 昨晚项目在上线的时候因为推广的原因,新增的大量请求.在八点的时候. org.apache.catalina.connector.ClientAbortException: java.io ...

  5. org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32 Most likely, ...

  6. org.apache.catalina.connector.ClientAbortException: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。

    日志文件中有“java.io.IOException: 您的主机中的软件中止了一个已建立的连接.”错误 org.apache.catalina.connector.ClientAbortExcepti ...

  7. org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org ...

  8. Spring文件上传出错:java.lang.ClassCastException: org.apache.catalina.connector.Request

    java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.spri ...

  9. java.lang.IllegalStateException at org.apache.catalina.connector.ResponseFacade

    2012-10-4 19:50:37 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for se ...

随机推荐

  1. 22、oracle子查询

    22.1.什么是子查询: 1.子查询就是在一条sql语句中嵌入select语句: 2.子查询可区分为关联子查询和非关联子查询,他们和主查询之间的执行顺序和关系是不同的: 22.2.关联子查询: 1.说 ...

  2. Vue $refs无法操作element-ui组件

    比如我要操作这个dom元素↓↓↓ <el-badge :value="1" :max="99" class="message"> ...

  3. 官宣.NET 6 预览版4

    我们很高兴发布 .NET 6 Preview 4.我们现在大约完成了 .NET 6 发布的一半.现在是一个很好的时机,可以再次查看.NET6的完整范围.许多功能都接近最终形式,而其他功能将很快推出,因 ...

  4. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS

    本文由葡萄城技术团队翻译 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴发布.NET6预览的第6版,本次预览是倒数第二次预览了.在本次预览发布之 ...

  5. 前端-Vue基础2

    1.过滤器 前台通过后台传值,要对后台传过来的变量进行特殊处理,比如根据id转成中文等: 1.1 局部过滤器 局部过滤器只针对一个Vue实例 默认将|左侧count传递给右侧方法 {{count|fi ...

  6. VRRP概述作用及配置

    文章目录 VRRP的概述 VRRP的作用 虚拟路由器 Master报文的发送 VRRP状态机 VRRP华为命令配置 VRRP的概述1.利用VRRP,一组路由器(同一个LAN中的接口),协同工作,但是只 ...

  7. python numpy 求数组的百位分数

    百分位数,统计学术语,如果将一组数据从小到大排序,并计算相应的累计百分位,则某一百分位所对应数据的值就称为这一百分位的百分位数.运用在教育统计学中,例如表现测验成绩时,称PR值.分位数是以概率将一批数 ...

  8. VS Code 下载安装并设置中文面板显示

    下载: 下载地址:https://code.visualstudio.com/ 微软在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 M ...

  9. [004] - JavaSE面试题(四):JavaSE语法(2)

    第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [004] - JavaSE面试题(四):JavaSE语法(2) 第1问:重载(overload) ...

  10. 关于Xpath定位方法知道这些基本够用

    一.写在前面 之前写过一些关于元素定位的文章,但是感觉都是很碎片,现在想做个整合,便有了这篇文章. 二.xpath的定位方法 关于xpath定位方法,网上写的已经很成熟了,现已百度首页为例,如下图: ...