我觉的这段代码有问题,,但又说不清楚...请专家指证..

dongyc2000 2008-04-13 11:15:01
ResultSet rs=null;
int id=Integer.parseInt(request.getParameter("id"));
String sql = "select image from picturenews WHERE id="+id+"";
PreparedStatement stmt=con.prepareStatement(sql);
rs=stmt.executeQuery();
while(rs.next()){
ServletOutputStream sout= response.getOutputStream();
InputStream in = rs.getBinaryStream(1);
byte b[]=new byte[0x7a120];
for(int i=in.read(b); i!=-1;)
{
sout.write(b);
in.read(b);
}
sout.flush();//感觉这里在刷屏...
sout.close();
}
...全文
67 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
East271536394 2008-04-20
  • 打赏
  • 举报
回复
不要sout.flush();
你试下看
dongyc2000 2008-04-14
  • 打赏
  • 举报
回复
谢谢帮忙.问题还在继续..我在继续查资料调试中...
kokobox 2008-04-14
  • 打赏
  • 举报
回复
Connection reset by peer

1 可能是客户端强行终止连接。

2 可能是服务器端的防火墙导致。


dongyc2000 2008-04-14
  • 打赏
  • 举报
回复
StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception

java.net.SocketException: Connection reset by peer: socket write error

java.net.SocketException: Connection reset by peer: socket write error

这是在JBUILDER X里面的运行异常..我感觉就是上面这段代码有什么地方不妥才引起的..运行的结果是对的.但每次就是有异常抛出..查了下GOOGLE....这种错误有好多原因..
这个跟数据库没有关系,当客户端发出请求(request)后,如果还没有完全获得服务端的响应(response),客户端与服务器段的连接断开(例如断网、按了“停止”按钮、或者客户端浏览器关闭等),服务器端就会抛出此Exception。

上面这是一朋友的解释...
我想还有其他什么的原因..现在看这段代码还是觉的有不妥.改了几个模式还是一样..
dongyc2000 2008-04-14
  • 打赏
  • 举报
回复
谢谢...PAN大人...
panxuan 2008-04-13
  • 打赏
  • 举报
回复
刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
如果此流的预期目标是由基础操作系统提供的一个抽象(如一个文件),则刷新此流只能保证将以前写入到流的字节传递给操作系统进行写入,但不保证能将这些字节实际写入到物理设备(如磁盘驱动器)。

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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