Java Web报错:getOutputStream() has already been called for this response解决方案

今天做了个导出excel表的功能。大概代码如下:

ouputStream = response.getOutputStream();
wb.write(ouputStream);
ouputStream.flush();
ouputStream.close();
1
2
3
4
发现报错

java.lang.IllegalStateException: getOutputStream() has already been called for this response
1
报错原因
getOutputStream方法用于返回Servlet引擎创建的字节输出流对象,Servlet程序可以按字节形式输出响应正文。
getWriter方法用于返回Servlet引擎创建的字符输出流对象,Servlet程序可以按字符形式输出响应正文。
getOutputStream和getWriter这两个方法互相排斥,调用了其中的任何一个方法后,就不能再调用另一方法。

解决方案有两种:
在jsp页面里清除response。
out.clear();
out = pageContext.pushBody(http://www.my516.com);
1
2
在controller层对应的方法上追加@ResponseBody。
---------------------

原文地址:https://www.cnblogs.com/hyhy904/p/11082211.html

时间: 2024-08-03 18:32:16

Java Web报错:getOutputStream() has already been called for this response解决方案的相关文章

Java Web报错: GET http://localhost:8080/ 404 (Not Found)

eclipse正常启动tomcat,但是 访问http://localhost:8080 报404错误 搞笑的是我访问服务器中的其他网页也可以打开 报错如下: 解决: 如果这3项都已经变灰色,删除配置好的tomcat,再重新配置一次,然后再选到第二项.重新启动tomcat! 问题解决!!

Java Web报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

问题描述: 我们在用Eclipse进行Java web开发时,可能会出现这样的错误:The superclass javax.servlet.http.HttpServlet was not found on the Java Build Path.我们该怎么解决这个问题呢? 问题原因: 原来Javaweb工程类中没有添加 Tomcat运行时相关类 导致.尤其是导入项目的时候最容易出现. 解决办法: 下面是具体的解决方法: 1.右击 web工程 --> 属性或Build Path --> Co

java web报错The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

刚用maven建立了一个web项目,结果报错了,解决办法 原文地址:https://www.cnblogs.com/huifeidezhuzai/p/10015531.html

java 刷新报错 Feature 'taglib' not found.

刷新工程报错:org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'taglib' not found. 错误原因:tomcat7,部署tomcat6下开发的项目.web.xml下引入taglib标签的方式有了新的配置要求. tomcat7.0前版本web.xml中taglib配置如下: <taglib>     <taglib-uri>http://www.krmsoft.com/tags-slsint</

java保存报错解决for column &#39;name&#39; at r

Incorrect string value: '\xE6\x98\xAF\xE6\xBB\xB4...' for column 'name' at r 修改数据库的编码 ALTER DATABASE test CHARACTER SET utf8 ALTER TABLE hobby CONVERT TO CHARACTER SET utf8 ALTER TABLE person CONVERT TO CHARACTER SET utf8 java保存报错解决for column 'name'

java @override 报错处理

转载自:http://blog.sina.com.cn/s/blog_9c7605530101kl9r.html 一.java @override 报错处理 做项目的时候,同事那边电脑上编译通过的java代码,或者是网上下载的样例代码,导入工程后却是编译不通过,总是@override报错,把@override去掉就好了,有时候@Override出现的地方很多,要全部删除@Override很繁琐很吐血,不能从根本上解决问题.网上找了一下原因,才知道: 据说这是jdk的问题,@Override是JD

Java代码报错[收集整理]

1. com.ibatis.common.jdbc.exception.NestedSQLException: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/visec/fileIssue/domain/fileIssue.xml. --- The error occurred while applying a parameter map. --- Check the file

Centos7 JDK安装过程中 解决java -version 报错: bash: /home/jdk1.8.0_161/bin/java: Permission denied

1.执行Linux命令 -----vim /etc/profile  编辑profile  文件,在里面添加: #set java enviroment JAVA_HOME=/opt/JavaHome/jdk1.8.0_171JRE_HOME=/opt/JavaHome/jdk1.8.0_171/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin

Java编译报错:无效的源发行版

简介 IDEA编译Java项目报错:无效的源发行版9 目测原因编译等级不对,需要调整IDE中的编译等级相关参数 解决方案 打开设置,-->Java Compiler选择如图所示的选项进行相应调整 打开项目构建(Project Structure...)--> Project选择相应的编译级别 打开项目构建(Project Structure...)--> Modules选择相应的模块, 看下模块的编译级别是否对应 参考资料 IDEA: Error:java: 无效的源发行版: 9 原文地