Обновить SimpleCaptcha

Я использую SimpleCaptcha

Мой web.xml выглядит так, как здесь:

<servlet>
    <servlet-name>StickyCaptcha</servlet-name>
    <servlet-class>nl.captcha.servlet.StickyCaptchaServlet</servlet-class>
    <init-param>
        <param-name>width</param-name>
        <param-value>250</param-value>
    </init-param>
    <init-param>
        <param-name>height</param-name>
        <param-value>75</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>StickyCaptcha</servlet-name>
    <url-pattern>/captcha</url-pattern>
</servlet-mapping>

И я добавил обновление, но на мой взгляд, как описано в этом SO-ответе:

<script type="text/javascript">
    function reloadCaptcha(){
        var d = new Date();
        $("#captcha_image").attr("src", "/captcha?"+d.getTime());
    }
</script>
   ...
<img id="captcha_image" src="/captcha_generator.jsp" alt="captcha image" width="200" height="50"/>
<img src="reload.jpg" onclick="reloadCaptcha()" alt="reload"width="40" height="40"/>

Но когда я нажимаю кнопку обновления, ничего не происходит. Также, когда я пытаюсь позвонить .../captcha?4324321 он все еще печатает ту же самую капчу (основываясь на пользовательской сессии, как я понял)

Я также использую spring-mvc и spring-webflow.

2 ответа

Решение

С помощью nl.captcha.servlet.SimpleCaptchaServlet вместо nl.captcha.servlet.StickyCaptchaServlet решил проблему

так как StickyCaptchaServlet использует SessionId для создания изображения и SimpleCaptchaServlet не

Я думаю, вы можете попробовать: $("#captcha_image"). Attr("src", "/captcha_generator.jsp"); вместо: $("#captcha_image").attr("src", "/captcha?"+d.getTime());

Другие вопросы по тегам