kaptcha验证码

来源:互联网 发布:凯立德端口修改器 编辑:程序博客网 时间:2024/06/07 10:04

Web.xml

 

<!-- kaptcha验证码 -->

<servlet>

   <servlet-name>kaptcha</servlet-name>

   <servlet-class>

com.google.code.kaptcha.servlet.KaptchaServlet

  </servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>kaptcha</servlet-name>

<url-pattern>/static/images/kaptcha.jpg</url-pattern>

</servlet-mapping>

<!-- kaptcha验证码配置 以下可不添-->

12     <servlet>

13         <!-- 生成图片的Servlet -->

14         <servlet-name>Kaptcha</servlet-name>

15         <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>

16        

17         <!-- 是否有边框-->

18         <init-param>

19             <param-name>kaptcha.border</param-name>

20             <param-value>no</param-value>

21         </init-param>   

22         <!-- 字体颜色 -->

23         <init-param>

24             <param-name>kaptcha.textproducer.font.color</param-name>

25             <param-value>red</param-value>

26         </init-param>

27         <!-- 图片宽度 -->

28         <init-param>

29             <param-name>kaptcha.image.width</param-name>

30             <param-value>135</param-value>

31         </init-param>

32         <!-- 使用哪些字符生成验证码 -->

33         <init-param>

34             <param-name>kaptcha.textproducer.char.string</param-name>

35             <param-value>ACDEFHKPRSTWX345679</param-value>

36         </init-param>

37         <!-- 图片高度 -->

38         <init-param>

39             <param-name>kaptcha.image.height</param-name>

40             <param-value>50</param-value>

41         </init-param>

42         <!-- 字体大小 -->

43         <init-param>

44             <param-name>kaptcha.textproducer.font.size</param-name>

45             <param-value>43</param-value>

46         </init-param>

47         <!-- 干扰线的颜色 -->

48         <init-param>

49             <param-name>kaptcha.noise.color</param-name>

50             <param-value>black</param-value>

51         </init-param>

52         <!-- 字符个数 -->

53         <init-param>

54             <param-name>kaptcha.textproducer.char.length</param-name>

55             <param-value>4</param-value>

56         </init-param>

57         <!-- 使用哪些字体 -->

58         <init-param>

59             <param-name>kaptcha.textproducer.font.names</param-name>

60             <param-value>Arial</param-value>

61         </init-param>       

62     </servlet>

63     <!-- 映射的url -->

 

 

Mavenpom.xml

<!-- kaptcha验证码 -->

   <dependency>

      <groupId>com.github.axet</groupId>

      <artifactId>kaptcha</artifactId>

      <version>0.0.9</version>

   </dependency>

 

 

Controller.java

@RequestMapping("/checkVerifyCode.html")

      @ResponseBody

      public String checkVerifyCode(

Stringcode,HttpServletRequest request){//检查输入的验证码是否正确

        if(null!=code &&!"".equals(code)){

           if(!code.equalsIgnoreCase((String)request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY))){

              System.out.println((String)request.getSession().getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY));

              return"no";

           }

        }

        return"ok";

      }

 

 

Login.jsp

<li>验证码:<inputvalue=""name="code"id="code"/>

                         <imgalt="验证码"src="${ctx}/static/images/kaptcha.jpg"title="点击更换"id="img_captcha"onclick="javascript:refreshkaptcha();"class="code"/>

                         <spanid ="errorMsgcode"></span>

</li>

 

 

<scripttype="text/javascript">

   functionrefreshkaptcha(){ 

       document.getElementById("img_captcha").src="${ctx}/static/images/kaptcha.jpg?t=" +Math.random(); 

   }

</script>

原创粉丝点击