我觉得你这段两层循环的代码有问题:
while (rs.next()){
out.println(rs.getString("title")+"<BR>");
InputStream is=rs.getBinaryStream("b");
while( (nRead=is.read(buf)) != -1 ) {
o.write(buf, 0, nRead);
}
o.flush();
o.close();
}你看你的外层循环,循环的是每一条记录.但是,你在内层循环读完第一条记录的图片数据后,就把输出流o关闭了.后面再循环以后的记录,就不能再写到输出流里去了.
while (rs.next()){
out.println(rs.getString("title")+"<BR>");
InputStream is=rs.getBinaryStream("b");
while( (nRead=is.read(buf)) != -1 ) {
o.write(buf, 0, nRead);
}
o.flush();
o.close();
}你看你的外层循环,循环的是每一条记录.但是,你在内层循环读完第一条记录的图片数据后,就把输出流o关闭了.后面再循环以后的记录,就不能再写到输出流里去了.
解决方案 »
- BBS中article.jsp文件,提示不能被编译
- dwr结合struts2的问题,麻烦了
- 运行lucene的实例出错,不知是否是环境变量设置的问题的
- prevented it from fulfilling this request 错误,请高手指点
- 一个新问题!急等!
- 如何配置服务器,使得类似网址www.XXXX.com 就是我jsp网站的网址?(只需回答三个问题)
- javabean存放的目录有规定吗?
- 用了两个小时终于将jive发布成功,但出现一些问题
- 推荐一些书籍
- 一年内,如何改进一个小Web系统?
- 急死了 会jfreechart快进来 急 急!
- 有关struts action form清空的问题?
<%@ page import="java.net.*" %>
<%@ page import="java.sql.*,javax.sql.*,java.io.*,java.util.*" %>
<HTML><HEAD><TITLE> JPEG OUTPUT </TITLE></HEAD><BODY>
<jsp:useBean id="dbConn" class="com.Vconn" scope="page"/>
<%
Connection conn=dbConn.getCon();
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
byte[] buf = new byte[32 * 1024];
int nRead=0;
OutputStream o=response.getOutputStream();
String sql="select * from jimage";
ResultSet rs=stmt.executeQuery(sql);
while (rs.next()){
out.println(rs.getString("title")+"<BR>");
InputStream is=rs.getBinaryStream("b");
while( (nRead=is.read(buf)) != -1 ) {
o.write(buf, 0, nRead);
}
}
o.flush();
o.close();
%>
</BODY>
</HTML>
我把那个改过来了也是一样的,只输出一张图片.而且我这个语句out.println(rs.getString("title")+"<BR>");
在页面上也没有输出.希望各位路过的大虾菜鸟们帮忙关注一下