关于:org.apache.catalina.connector.ClientAbortException及getOutputStream() has already been called for this response的异常处理
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的异常处理的更多相关文章
- (后台)org.apache.catalina.connector.ClientAbortException: null
比如错误日志是这样的: org.apache.catalina.connector.ClientAbortException: null 那么问题基本上就是服务器准备进行response的时候,发现连 ...
- 再见: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 ...
- org.apache.catalina.connector.ClientAbortException
记个tomcat常见流输出中断异常 org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Conn ...
- 线上问题!----------org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe
1.问题出现 昨晚项目在上线的时候因为推广的原因,新增的大量请求.在八点的时候. org.apache.catalina.connector.ClientAbortException: java.io ...
- org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32
org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error:-32 Most likely, ...
- org.apache.catalina.connector.ClientAbortException: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。
日志文件中有“java.io.IOException: 您的主机中的软件中止了一个已建立的连接.”错误 org.apache.catalina.connector.ClientAbortExcepti ...
- org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 你的主机中的软件中止了一个已建立的连接. at org ...
- Spring文件上传出错:java.lang.ClassCastException: org.apache.catalina.connector.Request
java.lang.ClassCastException: org.apache.catalina.connector.RequestFacade cannot be cast to org.spri ...
- 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 ...
随机推荐
- 40、Linux文件误删除恢复操作
rm -rf / #此方法删除不了/目录: rm -rf /* #此方法可以删除/目录下的所有内容,禁止使用: 40.1.前言: 作为一个多用户.多任务的操作系统,Linux下的文件一旦被删除,是难以 ...
- 10、pfile和spfile文件详解
10.1.介绍: 1.Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的, 决定了数据库的物理结构.内存.数据库的限制及系统大量的默认值.数据库 ...
- 使用RSA和DES保护的Socket通信
基本要求:将DES加密算法应用于网络通信,使用RSA算法自动分配密钥,设计好界面,可验证自动生成的密钥和加解密正确的结果. 具体实现要求:客户端和服务器建立连接后,客户端生成一个随机DES密钥;服务器 ...
- ollvm混淆的某apk题目的逆向分析
打开jadx,就发现了我们的老朋友数字壳 典型的类抽取壳,直接上fart脱就完事了,我这里使用的是fart的frida脚本,省去了刷机的步骤 这里的脱壳脚本,自行去github的寒冰大佬那边clone ...
- mysql中,一个数字加上null,结果为null
在mysql中,一个数字加上null,结果为null. 这个问题是我用update语句时遇见的,就像下边的例子 update tableName set number = number + x 这里的 ...
- ftp错误&&详解方案
一.FTP错误代码列表150 文件状态良好,打开数据连接 200 命令成功 202 命令未实现 211 系统状态或系统帮助响应 212 目录状态 213 文件状态 214 帮助信息,信息仅对人类用户有 ...
- Nginx的安装和部署
Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并发 ...
- 「CF516D」 Drazil and Morning Exercise
「CF516D」 Drazil and Morning Exercise 传送门 这个 \(f_i\) 显然可以通过树形 \(\texttt{DP}\) 直接求. 然后看到这种差值问题感觉就可以二分转 ...
- Linux云计算-07_Linux文件服务器之vsftpd服务器
本章向读者介绍企业vsftpd服务器实战.匿名用户访问.系统用户访问及虚拟用户实战等. 1 vsftpd服务器企业实战 文件传输协议(File Transfer Protocol,FTP),基于该协议 ...
- react-router4 介绍
react-router 的理解: 1) react 的一个插件库2) 专门用来实现一个 SPA 应用3) 基于 react 的项目基本都会用到此库 SPA 的理解: 1) 单页 Web 应用(si ...