一个关于jsp显示图片的程序,在线等!!!
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”,
各位高手,能不能解决这个问题啊。拜托,拜托。。。。。。。
问题解决,就给分!!!