【问题标题】:Where to put Java Simple Captcha Builder?在哪里放置 Java Simple Captcha Builder?
【发布时间】:2011-01-04 22:57:42
【问题描述】:

我是 java/java servlet 的新手。我需要 simpleCaptcha 作为表单,使用 html 和 javaservlet 作为代码。参考http://simplecaptcha.sourceforge.net/extending.html

Captcha captcha = new Captcha.Builder(200, 50)
    .addText()
    .addBackground()
    .addNoise()
    .gimp()
    .addBorder()
    .build(); // Required. 

为了在 html 上创建验证码,我应该将这段代码放在哪里(java servlet)?

非常感谢。

【问题讨论】:

    标签: java jsp captcha simplecaptcha


    【解决方案1】:

    嘿,你看过这个页面了吗? http://simplecaptcha.sourceforge.net/installing.html

    这和我想的一样简单。该项目为您提供了一些开箱即用的 Capcha servlet。您只需将它们映射到您的 web.xml 文件中。您可以跟随并创建将调用它们的 jsp。

    【讨论】:

    • @darren:您好,感谢您的回复。我看到了您提供的链接,但那是 Sticky Captcha 的示例,它需要包含会话,并且没有自定义。我只需要一个简单的验证码,并使用其构建器对验证码图像进行一些自定义。此外,我真的需要帮助才能将其放入 servlet,因为我的验证部分都在 servlet 中,而不是 jsp。
    【解决方案2】:

    要扩展 SimpleCaptcha 并自定义您的 CAPTCHA,我的理解是您必须创建自己的 HttpServlet(可能扩展 SimpleCaptchaServlet)。为此,我建议下载source code 并查看SimpleCaptchaServletStickyCaptchaServlet。这就是SimpleCaptchaServletdoGet() 方法的样子:

    @Override
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
    
        Captcha captcha = new Captcha.Builder(_width, _height)
            .addText()
            .addBackground(new GradiatedBackgroundProducer())
            .gimp()
            .addNoise()
            .addBorder()
            .build();
    
        CaptchaServletUtil.writeImage(resp, captcha.getImage());
    
        req.getSession().setAttribute(NAME, captcha);
    }
    

    这应该是不言自明的:创建您自己的 servlet 并将您的自定义 Captcha Builder 代码放入 doGet() 方法中。然后,按照Installing 部分的说明进行操作,但不要使用他们的servlet 之一,而是在web.xml 中声明您的servlet。最后,打包/部署您的应用程序。一个示例捆绑在examples 下的源代码分发中。如果您需要有关 Web 应用程序的结构、依赖项和打包的更多指导,请查看它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-10
      • 2018-02-14
      • 2011-06-29
      • 2018-03-27
      • 2011-02-15
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多