6

我是 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)?

非常感谢你。

4

2 回答 2

9

要扩展 SimpleCaptcha 并自定义您的 CAPTCHA,我的理解是您必须创建自己的HttpServlet(可能是 extends SimpleCaptchaServlet)。为此,我建议下载源代码并查看SimpleCaptchaServletor StickyCaptchaServlet。这就是doGet()方法的SimpleCaptchaServlet样子:

@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()方法中。然后,按照安装部分的说明进行操作,但不要使用他们的 servlet 之一,而是在web.xml. 最后,打包/部署您的应用程序。一个示例捆绑在源代码分发中,位于examples. 如果您需要有关 Web 应用程序的结构、依赖项和打包的更多指导,请查看它。

于 2010-01-14T05:43:12.757 回答
2

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

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

于 2010-01-14T05:11:35.497 回答