Str问题java.lang.IllegalStateException: getOutputStream() has already been called for this response的解决
2015-08-21 09:51
639 查看
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("utf-8"); String username=null; try {
<span style="white-space:pre"> </span>//解决接受的username乱码的问题 username = new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8"); } catch (UnsupportedEncodingException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } System.out.println(username); UserService userService=new UserService(); User user=userService.getUserByUsername(username); String filterFilename=null; try { //将user.getOldfilename(文件原来的名字)进行utf-8编码,防止中文乱码 filterFilename=java.net.URLEncoder.encode(user.getOldfilename(),"utf-8"); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } //设置一个头,告诉浏览器有文件下载 response.setHeader("Content-Disposition","attachment;filename="+filterFilename); //得到要下载文件的绝对路径 String filePath=this.getServlet().getServletContext().getRealPath("/file"); //得到要下载文件的全路径 String fileAllPath=filePath+"\\"+user.getNewfilename(); FileInputStream fis=null; OutputStream oStream=null; byte []buffer=new byte[1024]; int len=0; try { //将文件放入输入流 fis=new FileInputStream(fileAllPath); //得到输出流 oStream=response.getOutputStream(); while((len=fis.read(buffer))>0) { oStream.write(buffer, 0, len); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); }finally{ try { oStream.close(); fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //一定要返回null,不然会报错:java.lang.IllegalStateException: getOutputStream() has already been called for this response return null; } }</span>
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- ActionScript 3.0 编程体验
- 再谈Jquery Ajax方法传递到action(补充)
- ASP.NET MVC:Filter和Action的执行介绍
- Ajax in action 英文版配书源码 下载
- ajax使用不同namespace的action的方法
- ajax交互Struts2的action(客户端/服务器端)
- java struts常见错误以及原因分析
- Flex弹出窗口请求Action函数示例
- Struts之logic标签库详解
- JavaEE通过response实现请求重定向
- JavaEE实现文件下载
- android教程之intent的action属性使用示例(intent发短信)
- jsp中Action使用session方法实例分析
- 在页面上用action传递参数到后台出现乱码的解决方法
- SSH框架网上商城项目第20战之在线支付平台
- JavaEE中关于ServletConfig的小结
- java中struts 框架的实现
- sprng和struts有什么区别?
- 开放授权OpenPLM学习教程-文档管理