我们正在使用SimpleCaptcha http://simplecaptcha.sourceforge.net/在我们的注册表单中创建验证码(在Tomcat上运行)
我们使用以下方法创建验证码:
Captcha captcha = new Captcha.Builder(300, 57).build();
,验证码显示如下:
但是当我向验证码添加更多选项时,例如Captcha captcha = new Captcha.Builder(300, 57).addNoise().build();
,它仍然以相同的方式显示而没有噪音。我尝试了更多选项,但仍然得到了相同的结果。
有人知道为什么会这样吗?
谢谢,
库尔特
答案 0 :(得分: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()会显示噪音。