1.需求分析
注册或登录验证时,常常需要输入验证码。使用Kaptcha可以自动生成验证码
2.Kaptcha的使用步骤
- 建立一个web项目,导入kaptcha-2.3.2.jar到项目中
- 在web.xml文件中注册KaptchaServlet,并设置验证码图片的相关属性
<servlet>
<servlet-name>KaptchaServlet</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<init-param>
<param-name>kaptcha.border.color</param-name>
<param-value>blue</param-value>
</init-param>
<init-param>
<param-name>kaptcha.textproducer.char.string</param-name>
<param-value>abcdefg</param-value>
</init-param>
<init-param>
<param-name>kaptcha.noise.impl</param-name>
<param-value>com.google.code.kaptcha.impl.NoNoise</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>KaptchaServlet</servlet-name>
<url-pattern>/kaptch.jpg</url-pattern>
</servlet-mapping>
- 在html页面上编写一个img标签,然后设置src等于KaptchaServlet对应的url-pattern(此处为/kaptch.jpg)
<img src="kaptch.jpg"/>
说明: 当中src="kaptcha.jpg"会被定位到servlet上,从而产生验证码图片返回给前端。Kaptcha同时会将验证码中的信息保存到session作用域中
3.后端获取验证码信息
- 通过session中保存的“KAPTCHA_SESSION_KEY”属性
HttpSession session = req.getSession();
Object kaptcha_session_key = session.getAttribute("KAPTCHA_SESSION_KEY");