毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

weblogic附件本地显示乱码java.io.IOException: response already committed

更新时间:2012-10-26:  来源:毕业论文

本地tomcat5.5没有此问题。一切正常
代码如下:
  <%
 
byte[] bytes=......//文件流
   
String file_type = (String)file.getString("fileType");
  response.setContentType(file_type);  
  //System.out.println("---" + file_type + "---" + bytes.length);
  response.setHeader("Content-Disposition", "attachment;filename=\"" + new String(file.getString("fileName").getBytes("gb2312"), "ISO8859-1" ) + "\"");  

response.setHeader("Pragma", "No-cache"); 

  java.io.OutputStream output = response.getOutputStream();
 
  try{  

output.write(bytes);
output.flush();
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
}catch(java.io.IOException e){  
System.out.println("Error!");
e.printStackTrace();  
} finally {
if (output != null) {
output.close();
output = null;
}
}  
  %>

报错如下:
java.io.IOException: response already committed
  at weblogic.servlet.jsp.JspWriterImpl.clear(JspWriterImpl.java:56)
  at jsp_servlet._mpcommon.__show_file._jspService(__show_file.java:111)
  at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)

output.write(bytes); 
  output.flush(); 
  response.flushBuffer(); 
  out.clear(); 
  out = pageContext.pushBody(); 


===>

  output.write(bytes); 
  output.flush(); 
  out = pageContext.pushBody();  电加热炉温度控制系统的设计

  response.flushBuffer(); 

  out.clear(); 
如果你用weblogic 乱码问题就出现在这一句 
response.setHeader("Content-Disposition", "attachment;filename=\"" + new String(file.getString("fileName").getBytes("gb2312"), "ISO8859-1" ) + "\""); 中的 new String(file.getString("fileName").getBytes("gb2312"), "ISO8859-1" ), 把new String(.getBytes("gb2312"),"ISO8859-1")去掉就行了。
用tomcat是正常的。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。