struts2 getOutputStream() has already been called for this response

mq2275 2015-12-05 07:59:38
public String execute() throws Exception{
HttpServletResponse response = ServletActionContext.getResponse();
FileInputStream in = new FileInputStream(filePath);
sout = response.getOutputStream();
byte b[] = new byte[1024];
int len = 0;
while ((len = in.read(b)) > 0) {
sout.write(b,0,len);
}
sout.flush();
sout.close();
in.close();
return SUCCESS;
}
...全文
75 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
蜗牛- 2015-12-06
一个请求只能输出一个响应,这里给了两个响应。 HttpServletResponse response = ServletActionContext.getResponse(); FileInputStream in = new FileInputStream(filePath); sout = response.getOutputStream(); -- 第一次响应 byte b[] = new byte[1024]; int len = 0; while ((len = in.read(b)) > 0) { sout.write(b,0,len); } sout.flush(); sout.close(); in.close(); return SUCCESS; -- 第二次响应 servlet 的四种响应方式 参考 servlet的四种响应 楼主应该想做Struts2的文件下载吧,参考 Struts2文件下载
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-12-05 07:59
社区公告
暂无公告