waysun一路阳光

不轻易服输,不轻言放弃.--心是梦的舞台,心有多大,舞台有多大。踏踏实实做事,认认真真做人。

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  167 随笔 :: 1 文章 :: 64 评论 :: 0 Trackbacks
1.在项目中JSP页面输出流显示为图片时,刷新时,报以下错误
getOutputStream() has already been called for this response
index.jsp

<HTML>
<HEAD>
<TITLE></TITLE>

</HEAD>

<BODY>
<TABLE>
<TR>
<TD></TD>
</TR>
<TR>
<TD><img src="show.jsp"></TD>
</TR>
</TABLE>

</BODY>
</HTML>


show.jsp
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="cn.com.hnisi.visio.image.*"%>
<%
VisioDemo v=new VisioDemo();
v.setVisible(false);
try
{
 byte[] image = v.getVisio().createPreview(new File("E:/test/test.vsd"));
 response.setContentType("image/jpeg");
 OutputStream outs = response.getOutputStream();
 outs.write(image);
 outs.flush();

}
catch(Exception e)
{
    System.out.println(e.getMessage());
}
%>
出现错误原因是response的数据流没有释放
解决办法
<%@ page contentType="text/html; charset=gbk" %>
<%@ page import="java.io.*"%>
<%@ page import="cn.com.hnisi.visio.image.*"%>
<%
VisioDemo v=new VisioDemo();
v.setVisible(false);
try
{
 byte[] image = v.getVisio().createPreview(new File("E:/test/test.vsd"));
 response.setContentType("image/jpeg");
 OutputStream outs = response.getOutputStream();
 outs.write(image);
 outs.flush();
 outs=null;
    response.flushBuffer();
    out.clear();
    out = pageContext.pushBody();

}
catch(Exception e)
{
    System.out.println(e.getMessage());
}
%>
posted on 2009-02-22 19:17 weesun一米阳光 阅读(230) 评论(0)  编辑  收藏 所属分类: 总结备用cnweblog/nm1504

只有注册用户登录后才能发表评论。


网站导航: