【问题标题】:Refresh SimpleCaptcha刷新 SimpleCaptcha
【发布时间】:2013-10-19 09:23:25
【问题描述】:

我正在使用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。

【问题讨论】:

    标签: javascript spring simplecaptcha


    【解决方案1】:

    使用nl.captcha.servlet.SimpleCaptchaServlet 代替nl.captcha.servlet.StickyCaptchaServlet 解决了问题

    因为StickyCaptchaServlet 使用 SessionId 创建图像而SimpleCaptchaServlet 没有

    【讨论】:

    • 简短而准确的答案。 +1 让我们的生活变得简单 :)
    【解决方案2】:

    我想你可以试试: $("#captcha_image").attr("src", "/captcha_generator.jsp"); 代替: $("#captcha_image").attr("src", "/captcha?"+d.getTime());

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 2015-01-13
      • 2013-05-25
      • 2013-11-26
      • 2021-08-20
      相关资源
      最近更新 更多