写验证码.不知道怎么刷新了?
...........
</tr>
<tr>
<td align=left>验证码:</td>
<td><img border=0 src="code.jsp"></td> //code.jsp是生成验证码图片的文件
</tr>
<tr>
<td align=left>&nbsp;</td>
<td><input type=text name=rand maxlength=4 size=8 value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="提交检测"></td>
</tr>
...................
请问这怎么刷新code.jsp文件?

解决方案 »

  1.   

    jsp 设置禁用页面缓存 每次请求随机生成四个数字或者字母 用response流返回
      

  2.   


    <td align=left>验证码:</td>
    <td><img border=0 src="code.jsp"></td> //code.jsp是生成验证码图片的文件建议:在TD 里边加上一个连接,或者按钮。添加 Js 用重新定义img 的路径,让去刷新。
    参考代码:<td><img border=0 id="code" src="code.jsp">   <input type="button" onclick="change()" value="看不清,换一张。" /> </td> 
    <script type="text/javascript">
    function change()
    {
        document.getElementById(code).src="写一个code.jsp文件的相对路径";
    }
    </script>
    手写的会有问题。思路是这样吧。!
      

  3.   

    如一楼所说:public class ImageAction extends ActionSupport {

    private static final long serialVersionUID = 1L;@SuppressWarnings("unchecked")
    public String execute()throws Exception{
      Map session = ActionContext.getContext().getSession();
      HttpServletResponse response = ServletActionContext.getResponse();
    response.setContentType("image/jpeg");
    BufferedImage image = new BufferedImage(60, 25,
    BufferedImage.TYPE_INT_RGB);
    Random r = new Random();
    Graphics g = image.getGraphics();
    g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));
    g.fillRect(0, 0, 60, 25);
    g.setColor(new Color(0,0,0));
    String number = String.valueOf(r.nextInt(99999)); 
    session.put("code", number);
    g.drawString(number, 13, 18);
    OutputStream os = response.getOutputStream();
    JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);
    encoder.encode(image);
    return null;
      }
    }
    页面端:
    <img src="image.action" id="xx" onclick="javascript:load();">
    function load() {
    var date = new Date();
    document.getElementById("xx").src = "image.action?" + date.getTime();
    }
      

  4.   

    我想楼主的意思是不刷新页面,只刷新图片,这样写可以的:<img name="validate_img2" id="validate_img2" src="code.jsp" />
    <input type="button" value="refresh img2" onclick="document.images['validate_img2'].src='code.jsp'+'?'+Math.random();" />点击"refresh img2"按钮就可以刷新验证图片。
      

  5.   

    5楼正解,问题解决.非常感谢.
    CSDN来的多了,脑子都迟钝了.只记得用onclick,代码怎么写都忘了.