把你生成图片的代码放到Servlet中,假设servlet名为showImg,然后在Jsp中使用,如:
<html>
...
<img src="servlet/showImg">
...
</html>

解决方案 »

  1.   

    应该这样:把你生成图片的代码放到Servlet中,假设servlet-mapping为showImg,通过参数imgId确定图片内容,然后在Jsp中这样用:
    <html>
    ...
    <img src="showImg?imgId=1">
    ...
    </html>
      

  2.   

    有通过二进制流做到的吗?<img src="showImg?imgId=1">我早就试过有问题,就是连的是临时文件夹的图片,必须刷新才显示最新图片,对于网络浏有问题。我想用传二进制流来做到html语言和二进制流传的图片共存与一个web页。
      

  3.   

    那就得按mht文件格式,即RFC822
      

  4.   

    在Servlet中通过设置response的header禁止浏览器cache应该能解决不能显示新图片的问题吧
      

  5.   

    cbhyk你好!,我不太明白你说的“那就得按mht文件格式,即RFC822”是什么意识?对于你说的“设置response的header禁止浏览器”我在一开始是这么写的:
    <% 
      response.setHeader("Cache-Control","no-store"); 
      response.setDateHeader("Expires", 0); 
    %>
    不知道对不对? 
    还是读临时文件夹,我才用二进制流做的(我还用过Applet对于传值不方便又慢)。
      

  6.   

    我试过,禁止浏览器cache能起作用:文件index.htm:
    <html>
    <head>
    </head>
    <body>
    <img src="showImg.jsp">the image
    </body>
    </html>文件showImg.jsp:
    <%
    response.reset();
    response.setContentType("image/*");
    response.setHeader("Cache-Control", "no-cache"); 
    response.setDateHeader("Expires", 0);
    java.io.FileInputStream fis = new java.io.FileInputStream(application.getRealPath("3.gif"));
    java.io.OutputStream os = response.getOutputStream();
    byte[] buf = new byte[4096];
    int bytes = 0;
    while((bytes = fis.read(buf)) != -1)
    os.write(buf, 0, bytes);
    fis.close();
    %>修改showImg.jsp文件中的3.gif为1.gif、2.gif等,再访问index.htm文件,显示的图片是修改后的图片。