要擴展SimpleCaptcha並自定義您的CAPTCHA,我的理解是您必須創建自己的HttpServlet
(可能延伸到SimpleCaptchaServlet
)。爲此,我建議下載source code並查看SimpleCaptchaServlet
或StickyCaptchaServlet
。這是什麼SimpleCaptchaServlet
的doGet()
方法是這樣的:
@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應用程序的結構,依賴性和打包的更多指導,請查看它。
@darren:嗨,謝謝你的回覆。我看到了你提供的鏈接,但這是Sticky Captcha的例子,它需要包含會話,並且沒有定製。我只需要一個簡單的驗證碼,並使用其構建器對驗證碼圖像進行一些自定義。此外,我真的需要幫助,把它放在一個servlet中,因爲我的驗證部分都在servlet中,而不是jsp。 – 2010-01-14 05:23:38