验证码问题

我按如下步骤配置验证码:

  1. web.xml配置如下:
    [code="java"]<?xml version="1.0" encoding="UTF-8"?>
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    BuGu


    index.html


    contextConfigLocation
    classpath:spring.xml


    org.springframework.web.context.ContextLoaderListener


    openSessionInViewFilter
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter

    singleSession
    false


    openSessionInViewFilter
    /*


    struts2
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter


    struts2
    /*


    dwr
    uk.ltd.getahead.dwr.DWRServlet

    debug
    true



    dwr
    /dwr/*


    struts-cleanup
    org.apache.struts2.dispatcher.ActionContextCleanUp


    struts
    org.apache.struts2.dispatcher.FilterDispatcher


    struts-cleanup
    /*


    struts
    /*


    img
    com.bugu.web.authentication.AuthImg


    img
    /authImg

    [/code]

  2. AuthImg关键代码如下:
    [code="java"]public class AuthImg extends HttpServlet
    {
    n行代码省滤。。。

    public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
    response.setHeader("Pragma","No-cache");
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", 0);
    response.setContentType("image/jpeg");

    System.out.println("test img");        
    n行代码省滤。。。
    
    ImageIO.write(image, "JPEG", response.getOutputStream());
    

    }
    }[/code]

  3. jsp代码:
    [code="java"] 验证码如图:看不清?单击此处刷新[/code]

  4. js代码:
    [code="java"] function refresh()
    {
    document.getElementById("authImg").src='authImg?now=' + new Date();
    }[/code]

问题:
当IE打开该jsp时,并没有相应的验证码显示。点击refresh()也不能更新、产生验证码。

同时发现点击refresh()控制台并没有将“test img”打印出来。
[b]问题补充:[/b]
to zhongli:

我已经加了随机数做参数。具体请看代码:

[code="java"]document.getElementById("authImg").src='authImg?now=' + new Date()[/code]

有时候图片是不好用,在src url后加个随机数做参数

缓存引起的

首先请确定你执行url /authImg能出图片