一个关于jsp显示图片的程序,在线等!!!

Brain1977 2003-07-07 10:33:27
dwform.jsp

<jsp:include page="image.jsp">
<jsp:param name="p_id" value="<%=p_id%>"/>
</jsp:include>

image.jsp

<%@ page contentType="text/html; charset=GBK" errorPage="../model/error.jsp"%>
<%@ page import="java.sql.*,java.io.*,java.text.*,java.util.*"%>

<jsp:useBean id="get_argu_info" class="com.infoks.lzp.bean.get_pro_infoBean">
<jsp:setProperty name="get_argu_info" property="*"/>
<jsp:setProperty name="get_argu_info" property="tablename" value="wky_image"/>
</jsp:useBean>
<%ResultSet rs=get_argu_info.getRs();

int i=0;
String title[]=new String[5];
if (rs.next()){
%>
<table width="775" border="1" align="center" cellpadding="3" cellspacing="0" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr>
<td colspan="4">附图:(点击图片可查看原图) 注:看不到新上传或修改的图片,请先保存本表格后刷新</td>
</tr>
<tr>
<%do{
if (i<0) i=0;
title[i]=rs.getString("title");
%>
<td>
<center><a href="viewimage.jsp?id=<%=rs.getInt("id")%>" target="_blank">
<image src="viewimage.jsp?id=<%=rs.getInt("id")%>" style=width:180px;height:180px; border="0">
</a></center>
</td>
<%
i++;
if (i==4){%>
</tr>
<tr>
<%i--;
for (;i>-1;i--){%>
<td bgcolor=#eeeeee><center><%=title[i]%> </center></td>
<% }%>
</tr>
<%if (rs.isLast()) out.println("<tr>");

%>
<% }
}while (rs.next());%>
</tr>
<tr>
<% i--;
for (;i>-1;i--){%>
<td bgcolor=#eeeeee><center><%=title[i]%> </center></td>
<% }

%>
</tr>
</table>
<%}%>

viewimage.jsp
<%@ page contentType="image/jpeg; charset=gb2312" language="java" errorPage="" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<jsp:useBean id="get_argu_info" class="com.infoks.lzp.bean.get_pro_picture">
<jsp:setProperty name="get_argu_info" property="*"/>
<jsp:setProperty name="get_argu_info" property="tablename" value="wky_image"/>
</jsp:useBean>
<%
session.invalidate();
request.getSession(true);
ResultSet rs=get_argu_info.getRs();
System.out.println("get resultset");
response.setContentType("image/jpeg");
System.out.println("set response");
// try {
rs.next();
ServletOutputStream sout = response.getOutputStream();

InputStream in = rs.getBinaryStream("pic");
byte b[] = new byte[256];
int length = 256;
while((length=in.read(b)) != -1)
{
sout.write(b,0,length);
sout.flush();
}

sout.close();


// }
// catch(Exception e){System.out.println(e);}
%>

程序虽然有了预期的效果,但是没调用一次viewimage,他都会报一个错:“getOutputStream() has been called for this response”,
各位高手,能不能解决这个问题啊。拜托,拜托。。。。。。。
问题解决,就给分!!!
...全文
103 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckyfanjian 2003-07-07
  • 打赏
  • 举报
回复
getOutputStream()之后记得close
希偌 2003-07-07
  • 打赏
  • 举报
回复
getOutputStream()之后记得close,否则就会出错
希偌 2003-07-07
  • 打赏
  • 举报
回复
必要的时候还要flush

81,092

社区成员

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

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