JavaWeb使用Kaptcha生成验证码(jar版)
使用方式
- Web项目导入jar包
1.1 :自定义jar包位置
自定义的jar包位置需要点击Add as Library才能使用 ,一般选择为项目添加
1.2 jar包放在web/WEB-INF/lib下 :
这里不用任何操作,直接复制到该目录下就可以
2.配置web.xml
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" 5 version="4.0"> 6 <servlet> 7 <servlet-name>KaptchaServlet</servlet-name> 8 <!--servlet-class属性是固定写法不可修改--> 9 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class> 10 </servlet> 11 <servlet-mapping> 12 <servlet-name>KaptchaServlet</servlet-name> 13 <url-pattern>/kaptch.jpg</url-pattern> 14 </servlet-mapping> 15 </web-app>
3 html页面
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>验证码显示页面</title> 6 </head> 7 <body> 8 <form action="check" method="get"> 9 <input type="text" placeholder="请输入验证码" name="checkInput"><br/> 10 <img src="/kaptch.jpg"> <!--验证码图片本体,就是web.xml中的配置--><br/> 11 <input type="submit" value="提交"> 12 </form> 13 </body> 14 </html>
显示效果如下
4 验证码显示效果调整
可以在Servet中添加 Init-param属性在自定义验证码效果,param-name的值可以再kaptCha的常量类中找到
5 在后端获取生成的验证码用与和前端比较
kaptcha会将生成的验证码在session中存一份,并且key为 "KAPTCHA_SESSION_KEY"
直接session获取即可
servlet代码
控制台输出