2010-01-14 23 views
5

我是java/java servlet的新手。我需要simpleCaptcha作爲表單,使用html和javaservlet作爲代碼。參照http://simplecaptcha.sourceforge.net/extending.html何處投入Java Simple Captcha Builder?

Captcha captcha = new Captcha.Builder(200, 50) 
    .addText() 
    .addBackground() 
    .addNoise() 
    .gimp() 
    .addBorder() 
    .build(); // Required. 

哪裏(java servlet)我應該把這段代碼爲了創建驗證碼的HTML?

非常感謝。

回答

8

要擴展SimpleCaptcha並自定義您的CAPTCHA,我的理解是您必須創建自己的HttpServlet(可能延伸到SimpleCaptchaServlet)。爲此,我建議下載source code並查看SimpleCaptchaServletStickyCaptchaServlet。這是什麼SimpleCaptchaServletdoGet()方法是這樣的:

@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,並把您的自定義驗證碼生成器代碼在doGet()方法。然後,按照Installing部分的說明進行操作,但不要使用其中一個servlet,而是在web.xml中聲明您的。最後,打包/部署你的應用程序。 examples下的源代碼分發中捆綁了一個示例。如果您需要關於Web應用程序的結構,依賴性和打包的更多指導,請查看它。

2

嘿你有沒有看看這個頁面呢? http://simplecaptcha.sourceforge.net/installing.html

這與我想的一樣直截了當。該項目爲您提供了幾個Capcha servlet。你只需要將它們映射到你的web.xml文件中。你可以繼續並創建將調用它們的jsp。

+0

@darren:嗨,謝謝你的回覆。我看到了你提供的鏈接,但這是Sticky Captcha的例子,它需要包含會話,並且沒有定製。我只需要一個簡單的驗證碼,並使用其構建器對驗證碼圖像進行一些自定義。此外,我真的需要幫助,把它放在一個servlet中,因爲我的驗證部分都在servlet中,而不是jsp。 – 2010-01-14 05:23:38