【问题标题】:Customizing SimpleCaptcha自定义 SimpleCaptcha
【发布时间】:2011-08-16 22:34:12
【问题描述】:
我们正在使用 SimpleCaptcha http://simplecaptcha.sourceforge.net/ 在我们的注册表单中创建验证码(在 Tomcat 上运行)
我们使用以下方法创建验证码:
Captcha captcha = new Captcha.Builder(300, 57).build();
验证码显示如下:
但是当我向验证码添加更多选项时,例如Captcha captcha = new Captcha.Builder(300, 57).addNoise().build();,它仍然以相同的方式显示而没有噪音。我尝试了更多选项,但仍然得到相同的结果。
请问有人知道为什么会这样吗?
谢谢,
库尔特
【问题讨论】:
标签:
captcha
simplecaptcha
【解决方案1】:
我尝试了上面的代码(使用 java 1.6 版本),但它什么也没产生。原因是您没有.addText()。 (我会把它写成评论,但我没有足够的声誉)。这表明您上面的代码不是您的实际代码,也许您在发布时忘记了一些东西。
这是我使用的有效方法:
public class MyCaptchaServlet extends SimpleCaptchaServlet
{
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
Captcha captcha = new Captcha.Builder(120,40).addText().addBorder().gimp().addBackground(new GradiatedBackgroundProducer()).build();
CaptchaServletUtil.writeImage(response, captcha.getImage());
request.getSession().setAttribute(Captcha.NAME, captcha);
}
}
在 .build() 之前添加 .addNoise() 确实会显示噪音。