java.lang.IllegalStateException: getOutputStream() has already been called for this response

遇到问题----java.lang.IllegalStateException: getOutputStream() has already been called for this response 在利用jxls导出excel时,报异常: java.lang.IllegalStateException: getOutputStream() has already been called for this response 如下所示: IllegalStateException: getOutputStream() has already been called for this r 阅读详情

在使用struts2 +hibernate+spring 框架的项目中,用到下载,在下载时后台爆出下列异常:

严重: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:604)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:178)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.success_jsp._jspService(success_jsp.java:132)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:557)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:481)
at org.apache.struts.chain.commands.servlet.PerformForward.handleAsInclude(PerformForward.java:127)
at org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:78)
at org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)

网上查了一下资料,情况如下,

这个问题困扰了半天,在网上查阅了大量资料,基本上就是出自一两家之口.感觉说得也有道理response.getWriter()和response.getOutputStream()相冲突造成的.但我没在jsp用response,

response这个对象是Servlet自己管理的,之所以出现上面的错误: 
1.网上都说跟Output之类其他的输出流相互排斥了。 
2.也可能是多次调用那个Struts里面定义的方法。 
3.最后查出原因:Struts方法之间调用引起的。 
因为:每个方法都返回的是一个ActionForward对象,而response是ActionForward对象参数,所以就会使response冲突! 
分析得很有道理然后又在javaeye上看到一个网友说return null就ok了.然后我试了,对,没错了.这和上面网友的分析吻合.

这个问题算告一段落了.感谢网友提供的帮助支持哈!

原文地址:http://sxgxy2008.blog.163.com/blog/static/76255270201021164613946/


小米万兆路由器里的Docker安装可道云(Kodexplorer)私有网盘 小米2022年12月份发布了万兆路由器,里面可以使用Docker。 今天尝试在小米的万兆路由器里安装[可道云](http://kodcloud.com/)(Kodexplorer)私有网盘。 阅读详情

相关推荐

CSR-DCF视频目标跟踪源码运行笔记

论文基本信息 论文标题:Discriminative Correlation Filter with Channel and Spatial Reliability 论文作者:Alan Lukezic等 论文出处:CVPR 2017 文章链接:https://arxiv.org/abs/1611.08461 补充材料:https://www.semanticscholar.org/paper/D...

越野者的博客 3399

java.lang.IllegalStateException: getOutputStream() has already been called for

①在java代码Action中 在使用流的方法下载Excel的时候 经常会遇到如下错误: java.lang.IllegalStateException: getOutputStream() has already been called for this response 详解:在tomcat5下jsp中出现此错误一般都是在jsp中使用了输出流(如输出图片验证码,文件下载等),没有妥善处...

iteye_7017的博客 2816

从2D到3D地图开发:手把手教你用Cesium+Three.js实现卫星轨迹可视化(含代码片段)

本文详细介绍了如何结合Cesium与Three.js实现从2D到3D的卫星轨迹可视化。通过对比传统Web GIS框架的局限,阐述了Cesium处理三维地理与轨道数据、Three.js负责高级图形渲染的分工优势,并提供了从环境搭建、坐标同步到动态粒子效果实现的完整代码实战指南。

nut55的博客 671

java.lang.IllegalStateException: getReader() has already been called for this request

项目上因为有需要需要在拦截器里面获取请求体里面的数据进行数据验证,因为自己定义的controller里面对使用了@RequestBody注解,导致项目报错了报错的内容是:java.lang.IllegalStateException: getReader() has already been called for this request 查阅资料发现request里面的的getReader 和getInputStream因为是以流的方式获取的,读取一次后,后续就不能再用了,解决思路是: 第一步:定义一个过

qq_25379811的博客 4017

告别Qt Creator?手把手教你用VSCode+MinGW调试QT项目(附完整launch.json配置)

本文详细介绍了如何在VSCode中配置完整的QT开发环境,特别是针对使用MinGW编译器的用户。从环境搭建到调试配置,包括生成.pro文件、Makefile,以及配置task.json和launch.json文件,帮助开发者高效调试QT项目。

weixin_27180827的博客 186

【笔记软件obsidian】从入门到精通

目录 一、前言 二、下载及安装 三、【选修】ios用户如何通过iCloud进行三平台同步 四、基本Markdown语法 五、【选修】插件的下载及安装方式 六、

patrick的博客 9万+

简单解决java.lang.IllegalStateException: getOutputStream() has already been called f

简单解决java.lang.IllegalStateException: getOutputStream() has already been called for this respons 严重: Servlet.service() for servlet jsp threw exception java.lang.IllegalStateException: getOutputSt...

vicento4的博客 2027

Snort源代码编译 _ 采坑之旅(for Windows VS2015)

    系统环境:Windows7 sp1 x64     编译环境:VS2015 SP1     Snort版本:2.9.12     daq版本:2.0.6     Snort官网:https://www.snort.org/downloads#snort-downloads 背景     最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《...

magictong的专栏 8888

报错:java.lang.IllegalStateException: getOutputStream() has already been called for this response

文章目录问题背景分析解决方案 错误信息详情: 严重: Servlet.service() for servlet [jsp] in context with path [/exportExcel] threw exception [java.lang.IllegalStateException: getOutputStream() has already been called for this ...

Charlven的博客 1727

Python爬虫教程:抓取Android或iOS应用中的数据

随着智能手机的普及,移动应用程序已经成为我们生活中不可或缺的一部分。从社交媒体、在线购物到金融服务和健康管理,几乎所有领域都有相应的手机应用程序(App)服务用户。而这些应用程序通常会存储大量的数据,例如用户行为、产品信息、订单记录等。如果我们能有效地抓取这些数据,可以为数据分析、商业智能、用户行为分析等提供有力支持。本文将重点介绍如何使用Python爬虫技术抓取Android或iOS应用中的数据,尤其是如何从这些应用的后端接口、存储、或网页中提取数据。我们将探讨如何通过反向工程技术访问移动应用中的API接

2201_76125261的博客 801

多物理场光学仿真软件:Ansys Lumerical_(8).CHARGE解决方案详解

CHARGE 模块主要用于求解 Poisson 方程和连续性方程,以模拟半导体器件中的电荷分布和载流子输运。通过 CHARGE 模块,可以分析器件的能带结构、载流子浓度、电流密度等关键参数。这些参数对于理解器件的工作原理和优化设计至关重要。

kkchenjj的博客 1385

java.lang.IllegalStateException: getOutputStream() has already been called for this response异常

最近在捣鼓SpringMVC的文件下载服务,使用到了ResposeEntity来处理下载服务,需要返回响应实体,而要下载的文件则需要转为对应的流然后连同响应实体一起返回出去。然后我又重新捣鼓了java平常的下载处理方式,在SpringMVC的环境下使用了原生HttpServletRespose的对象来获取输出流,最后页成功的传输了下载了文件,但是却爆出了这个异常。说我已经调用过getOutputStream()这个方法了,也就是说重复调用了。虽然无伤大雅,但是看着还是不舒服。于是便查询了一下报这个异常的原因

qq_41365804的博客 2831

基于Simulink的占空比调制DTC降低转矩脉动

修改传统SVPWM模块,输入占空比d和有效矢量索引,计算Ton​=d∗Tc​、Toff​=(1−d)∗Tc​,生成对称PWM波形(替代开关表直接输出)。:低速时(n<500rpm)减小dmax​=0.6(避免磁链畸变),高速时(n>2000rpm)增大dmax​=0.8(提升动态响应);kT​/kψ​:转矩/磁链误差增益(需整定,如kT​=0.02/(N⋅m),kψ​=0.1/Wb);(θ为电压矢量与磁链夹角)。② SVM-DTC(占空比计算模块启用,d0​=0.5,kT​=0.02,kψ​=0.1)。

amy_mhd的博客 87

java.lang.IllegalStateException:getOutputStream() has already been called for this response的解决方法

  《轻量级J2EE企业应用实战》一书的第2章有一个使用SerlvetResponse输出图像的例子,代码如下:   BufferedImage image = new BufferedImage(400, 400, BufferedImage.TYPE_INT_RGB);   Graphics g = image.getGraphics();   g.fillRect(0,0,400,4

永恒小菜的专栏 6909

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

项目踩坑之java.lang.IllegalStateException: getOutputStream() has already been called for this response

在做项目的时候,用到excel表格下载功能,虽然表格下载成功,但是控制台报如下错误 (java.lang.IllegalStateException: getOutputStream() has already been called for this response) java.lang.IllegalStateException: getOutputStream() has already been called for this response at org.apache.catalina.co

chd_sun的博客 2285

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

解决+解决思路:java.lang.IllegalStateException: getOutputStream() has already been called for this response

java.lang.IllegalStateException: getOutputStream() has already been called for this response 首先说明这个异常没有对使用功能造成影响,但是每次请求都会报出这个异常所以还是解决滴 会出现这个错误是因为我使用SpringBoot准备把kaptcha封装成工具类打算复用,当时使用到验证码的只是登陆和注册,但是使用验证码的场景还是很多,毕竟涉及到安全的问题,验证码还是很有用处的。 最先开始功能没问题感觉还是良好的,但是每.

一颗剽悍的种子的博客 8414

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java.lang.IllegalStateException:getOutputStream() has already been called for this response

今天遇到java.lang.IllegalStateException: getOutputStream() has already been called for this response或者getInputStream() has already been called for this request的问题 看了很多经验都没用,也没有显式调用getwriter和getOutputStre...

familylammy的博客 8509
上一篇: Null value was assigned to a property of primitive type setter ,hibernate int型数据无法读取 hiberante读int
下一篇: 在dwr中获得request、response对象
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值