CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  Web 开发

jsp页面绘制动态图象问题?(大家看看!谢谢!)

楼主llhdf(塞外浪子)2005-02-01 14:40:12 在 Java / Web 开发 提问

 
  我在jsp页面绘制图象,图象使用方法为:  
        BufferedImage   image   =   new   BufferedImage(100,100,   BufferedImage.TYPE_INT_RGB);  
        ServletOutputStream   sos   =   response.getOutputStream();  
        JPEGImageEncoder   encoder   =   JPEGCodec.createJPEGEncoder(sos);  
        encoder.encode(image);  
        sos.close();  
   
  我的程序可以绘制我想要的图象:问题是:  
  不断的刷新页面,就会抛出IO异常java.io.IOException:   reading   encoded   JPEG   Stream  
  1。如果程序都写在jsp页面中,你按着f5刷新,就不会出现异常问题。  
  2。如果使用bean,把以上程序都写到bean中,就会抛出上述异常。  
  请问怎么解决这样的问题?  
  问题点数:0、回复次数:22Top

1 楼llhdf(塞外浪子)回复于 2005-02-01 14:40:58 得分 0

帮看看,谢谢!Top

2 楼llhdf(塞外浪子)回复于 2005-02-01 14:42:29 得分 0

帮看看,谢谢!  
  Top

3 楼llhdf(塞外浪子)回复于 2005-02-01 14:42:48 得分 0

帮看看,谢谢!  
  Top

4 楼hhddff(taizi)回复于 2005-02-02 10:27:02 得分 0

upTop

5 楼yys79(shart-shoot)回复于 2005-02-02 10:34:11 得分 0

不知道你怎么写的bean,贴出来看看Top

6 楼llhdf(塞外浪子)回复于 2005-02-02 14:28:44 得分 0

就是把上面那断程序,放在一个bean里,在使用jsp页面调用!我的bean还有很多功能,具体的功能就我说的那样!  
   
  1。使用以下代码,抛出异常java.io.IOException:   reading   encoded   JPEG   Stream  
        BufferedImage   image   =   new   BufferedImage(100,100,   BufferedImage.TYPE_INT_RGB);  
        ServletOutputStream   sos   =   response.getOutputStream();  
        JPEGImageEncoder   encoder   =   JPEGCodec.createJPEGEncoder(sos);  
        encoder.encode(image);  
        sos.close();  
   
  2。使用以下代码,抛出异常ClientAbortException:     java.net.SocketException:   Connection   reset   by   peer:   socket   write   error  
   
        ServletOutputStream   sos   =   response.getOutputStream();  
        ImageIO.write(image,   "jpeg",   sos);  
   
  请问怎么能控制这种异常!,请问是不是让程序“异步”!Top

7 楼llhdf(塞外浪子)回复于 2005-02-02 14:28:52 得分 0

upTop

8 楼mxfhhh(为什么)回复于 2005-02-02 14:32:39 得分 0

记下来以前记得有这个东西Top

9 楼singedcat(以夢為馬)回复于 2005-02-02 14:40:48 得分 0

up2Top

10 楼llhdf(塞外浪子)回复于 2005-02-02 14:57:47 得分 0

大家看看!谢谢!Top

11 楼yanyan0328()回复于 2005-02-02 15:08:57 得分 0

把sos.close();替换成sos.flush   ();  
  试试行不行?Top

12 楼llhdf(塞外浪子)回复于 2005-02-03 11:18:12 得分 0

大家有没有解决办法?Top

13 楼llhdf(塞外浪子)回复于 2005-02-03 11:18:24 得分 0

大家有没有解决办法?  
  Top

14 楼boneeater(狗狗)回复于 2005-02-03 11:28:25 得分 0

不会,学习and友情up.....Top

15 楼flyxxxxx()回复于 2005-02-03 11:29:53 得分 0

image.jsp:  
  <%@   page   contextType="img/jpeg"   %>  
  <%  
      out.clear();//一定要这一行  
      ServletOutputStream   sos   =   response.getOutputStream();  
      //向sos中输出Image,在此之后不能输出任何文本数据  
  %>  
  使用:  
  <img   src="image.jsp">Top

16 楼GJA106(中文字符)回复于 2005-02-03 11:37:08 得分 0

没有发生这种情况,不管怎么刷新,可能是楼主在其它地方有错。  
   
  <%@   page   contentType="image/jpeg"    
          import="java.awt.*,  
                  java.awt.image.*,  
  java.awt.Color,  
                          java.awt.Font,  
                          java.awt.Graphics,  
                          java.awt.Image,  
                          java.awt.image.BufferedImage,  
                          java.io.IOException,  
                          java.util.Random,  
  com.sun.image.codec.jpeg.*,  
  java.util.*"  
  %>  
  <%  
  String   sRand   =   null;  
  int   width   =   80,height   =   20;  
          BufferedImage   image   =   new   BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);   //   在内存中创建图象  
          Graphics   g   =   image.getGraphics();//   获取图形上下文  
          Random       random   =   new     Random();//生成随机类      
          int   fc   =   88,bc   =   100;  
          if(fc>255)   fc=255;  
          if(bc>255)   bc=255;  
          int   r=fc+random.nextInt(bc-fc);  
          int   gr=fc+random.nextInt(bc-fc);  
          int   b=fc+random.nextInt(bc-fc);  
                                   
  Color   color   =     new   Color(r,gr,b);  
          g.setColor(color);//   初始化背景色  
          g.fillRect(0,0,width,height);//初始化  
          //g.drawRect(0,0,width-1,height-1);//画边框  
          g.setFont(new   Font("Times   New   Roman",Font.PLAIN,18));//设定字体  
   
          fc   =   100;bc   =   200;  
                                   
          r=fc+random.nextInt(bc-fc);  
          gr=fc+random.nextInt(bc-fc);  
          b=fc+random.nextInt(bc-fc);  
   
          color   =     new   Color(r,gr,b);  
          g.setColor(color);//重新设置干扰线颜色  
          random   =   new     Random();//生成随机类    
          for   (int   i=0;   i<88;   i++){  
                  int   x,y;  
                  int   x1,y1;  
                  x   =   random.nextInt(width);  
                  y   =   random.nextInt(height);  
                  x1   =   random.nextInt(88);  
                  y1   =   random.nextInt(88);  
                  g.drawLine(x,y,x+x1,y+y1);  
          }  
           
  for   (int   i=0;i<4;i++){  
  String   rand=String.valueOf(random.nextInt(10));  
                  sRand+=rand;  
                  //   将认证码显示到图象中  
                  g.setColor(new   Color(5+random.nextInt(50),10+random.nextInt(80),10+random.nextInt(80)));  
                  //调用函数出来的颜色相同,直接生成  
                  g.drawString(rand,13*i+6,16);  
          }  
           
  g.dispose();  
   
  ServletOutputStream   sos   =   response.getOutputStream();  
  JPEGImageEncoder   encoder   =   JPEGCodec.createJPEGEncoder(sos);  
  encoder.encode(image);  
  %>Top

17 楼llhdf(塞外浪子)回复于 2005-02-05 11:12:05 得分 0

你写在bean中,就会报错!。  
  在jsp页面不会报错!(可能是被jsp   异常给捕获了)Top

18 楼llhdf(塞外浪子)回复于 2005-02-05 11:12:56 得分 0

upTop

19 楼GJA106(中文字符)回复于 2005-02-05 11:23:36 得分 0

"java.io.IOException:   reading   encoded   JPEG   Stream"是因为有些资源没有close导致的,不继的去刷新,有没有可能:新创建的资源,没有close掉,又创建一次?Top

20 楼llhdf(塞外浪子)回复于 2005-02-10 11:54:52 得分 0

我加上了同步,依然抛异常,请问怎么办?Top

21 楼llhdf(塞外浪子)回复于 2005-02-12 11:28:38 得分 0

我加上了同步,依然抛异常,请问怎么办?Top

22 楼llhdf(塞外浪子)回复于 2005-02-21 09:42:21 得分 0

请问怎么回事?Top

相关问题

  • jsp包含页面
  • JSP 页面设计
  • VC或BC下怎样实现图象的绘制?
  • 怎样才能在TImage的框内使用Api绘制图象??
  • jsp页面引入问题
  • jsp页面跳转问题??
  • JSP页面的问题
  • JSP页面提交问题
  • JSP页面跳转问题
  • jsp页面跳转问题

关键词

  • 页面
  • jpeg
  • jsp
  • 图象
  • 绘制
  • bufferedimage
  • 抛出
  • 刷新
  • servletoutputstream
  • 程序

得分解答快速导航

  • 帖主:llhdf

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo