2013-10-11 4 views
0

Я использую SimpleCaptchaОбновить SimpleCaptcha

Моя web.xml выглядит как один here:

<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> 

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

<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.

ответ

3

nl.captcha.servlet.SimpleCaptchaServlet Использование вместо nl.captcha.servlet.StickyCaptchaServlet решена проблема

StickyCaptchaServlet, потому что использует в SESSIONID для создания образа и SimpleCaptchaServlet не

+0

Короткий n точный ответ. +1 для того, чтобы сделать нашу жизнь простой :) –

0

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