一个页面指向生成图片的JSP页面。第一次进来图片无法显示。刷新一下页面才显示出来。有的答案说缓存问题,我在页面头加清空缓存了。还是无法解决??求高手指点。tomcat服务器<img src="image.jsp" height="80" width="79">
image.jsp
    response.setContentType("image/jpeg");
    byte tmp[] = new ReaderImageDao().getTjbrxxImage(sql.toString());
    if(tmp != null && tmp.length > 0){
      OutputStream output = response.getOutputStream();
    output.write(tmp);
    output.flush(); //强制清出缓冲区               
    output.close();
    out.clear();
      out = pageContext.pushBody();
    }

解决方案 »

  1.   

    <%@ page language="java" pageEncoding="GBK" contentType="image/jpeg" %>
    ........................
    //创建图像
    BufferedImage img = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

    Graphics g = img.getGraphics();
    Graphics2D g2 = (Graphics2D)g;
    .................
    //写入session
    session.setAttribute("code",strCode);

    //输出图像
    g.dispose();
    ImageIO.write(img,"jpeg",response.getOutputStream());
    out.clear();
    out = pageContext.pushBody();
      

  2.   

    我的是生成图片,不是验证码?没用到gwt 类。我想问的是,我哪里写错了,或者少写什么了
      

  3.   

    LZ jsp页面中清空缓存,你尝试用下如下几个方法:
     <%   
      response.setHeader("progma","no-cache");   
      response.setHeader("Cache-Control","no-cache");   (我一般用这个
      response.setDateHeader("Expires",0);   
      %>
      

  4.   

    jsp 
    meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    这样不行吗?
    确定是缓存的问题?
      

  5.   

    不是缓存问题,是每次页面提交的图片URL是一个,所以不刷新
    在路面URL后面加一个随机数
    比如下面这样
    <img src="xxxxx?<%= java.util.Random.nextDouble()%>">具体根据自己情况在改改