我是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)?
非常感谢你。
最佳答案
为了扩展SimpleCaptcha并自定义您的验证码,我的理解是您必须创建自己的HttpServlet
(也许可以扩展SimpleCaptchaServlet
)。为此,我建议下载source code并查看SimpleCaptchaServlet
或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()
方法中。然后,按照Installing部分的说明进行操作,但是不要使用其servlet之一,而是在web.xml
中声明您的servlet。最后,打包/部署您的应用程序。在examples
下的源代码分发中捆绑了一个示例。如果您需要有关Web应用程序的结构,依赖关系和打包的更多指南,请查看。