Настройка SimpleCaptcha - PullRequest
0 голосов
/ 02 мая 2011

Мы используем SimpleCaptcha http://simplecaptcha.sourceforge.net/ для создания капчи в нашей регистрационной форме (запущенной на Tomcat)

Мы создаем капчу используя:

Captcha captcha = new Captcha.Builder(300, 57).build(); 

и капча отображается следующим образом: enter image description here

Но когда я добавляю дополнительные параметры к капче, например Captcha captcha = new Captcha.Builder(300, 57).addNoise().build();, она все равно отображается без помех. Я пробовал больше вариантов, но все равно получаю те же результаты.

Кто-нибудь знает, почему это происходит, пожалуйста?

Спасибо

Kurt

1 Ответ

1 голос
/ 09 июня 2011

Я попробовал код выше (с версией 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);
    }
}

Добавление .addNoise () непосредственно перед .build () показывает шум.

...