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;
}
...全文
104 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
姜小白- 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文件下载

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧