`
lvjun106
  • 浏览: 437977 次
  • 性别: Icon_minigender_1
  • 来自: 芜湖
社区版块
存档分类
最新评论

SPRING MVC Kaptcha 实现验证码功能

 
阅读更多

Kaptcha是一个基于SimpleCaptcha的验证码开源项目。

maven配置如下

		<dependency>
			<groupId>com.github.axet</groupId>
			<artifactId>kaptcha</artifactId>
			<version>0.0.8</version>
		</dependency>

 

 

在springMVC环境下,使用kaptcha

    web.xml配置代码:

 

[html] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.   <display-name></display-name>   
  8.     
  9.   <servlet>  
  10.     <servlet-name>hello</servlet-name>  
  11.     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  
  12.     <load-on-startup>1</load-on-startup>  
  13.   </servlet>  
  14.     
  15.   <servlet-mapping>  
  16.     <servlet-name>hello</servlet-name>  
  17.     <url-pattern>/</url-pattern>  
  18.   </servlet-mapping>  
  19.     
  20.   <servlet>  
  21.     <servlet-name>Kaptcha</servlet-name>  
  22.     <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>  
  23.     <init-param>  
  24.         <param-name>kaptcha.border</param-name>    <!-- 是否有边框 -->  
  25.         <param-value>no</param-value>  
  26.     </init-param>  
  27.     <init-param>  
  28.         <param-name>kaptcha.textproducer.char.space</param-name>   <!--字符之间的间距 -->  
  29.         <param-value>8</param-value>  
  30.     </init-param>  
  31.     <init-param>  
  32.         <param-name>kaptcha.textproducer.char.length</param-name>   <!-- 字符的个数 -->  
  33.         <param-value>4</param-value>  
  34.     </init-param>    
  35.   </servlet>  
  36.     
  37.   <servlet-mapping>  
  38.     <servlet-name>Kaptcha</servlet-name>  
  39.     <url-pattern>/Kaptcha.jpg</url-pattern>  
  40.   </servlet-mapping>    
  41.     
  42.   <welcome-file-list>  
  43.     <welcome-file>index.jsp</welcome-file>  
  44.   </welcome-file-list>  
  45. </web-app>  


     hello-servlet.xml配置代码:

 

 

[html] view plaincopy
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xsi:schemaLocation="  
  7.         http://www.springframework.org/schema/beans   
  8.         http://www.springframework.org/schema/beans/spring-beans-3.1.xsd  
  9.         http://www.springframework.org/schema/mvc   
  10.         http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd  
  11.         http://www.springframework.org/schema/context   
  12.         http://www.springframework.org/schema/context/spring-context-3.0.xsd">  
  13.       
  14.     <context:component-scan base-package="com.lqh.controller" />  
  15.         <mvc:annotation-driven />  
  16.       
  17.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  18.         <property name="prefix" value="/WEB-INF/jsp/" />     <!-- 视图前缀 -->  
  19.         <property name="suffix" value=".jsp" />              <!-- 视图后缀 -->  
  20.     </bean>  
  21. </beans>  

 

    controller代码:

 

[java] view plaincopy
 
  1. @Controller  
  2. public class HelloController {  
  3.       
  4.     @RequestMapping(value={"/""/hello"})  
  5.     public String hello() {  
  6.         System.out.println("hello");  
  7.         return "hello";  
  8.     }  
  9.       
  10.     @RequestMapping(value="/hello", method=RequestMethod.POST)  
  11.     public String hello(String verifyCode, HttpServletRequest request) {  
  12.           
  13.         String code = (String) request.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);        //获取生成的验证码  
  14.         System.out.println(verifyCode + "," + code);  
  15.         if(verifyCode.equals(code)) {  
  16.             System.out.println("验证通过 ");  
  17.         }  
  18.         return "redirect:/hello";                                                       //post方式提交,实现客户端跳转  
  19.     }  
  20. }  

 

       前台页面hello.jsp代码:

 

[html] view plaincopy
 
  1. <html>  
  2.   <head>  
  3.     <base href="<%=basePath%>">      
  4.     <title>My JSP 'index.jsp' starting page</title>   
  5.   </head>  
  6.     
  7.   <body>  
  8.     hello.  
  9.     <form method="post">  
  10.         <input type="text" name="verifyCode" />   
  11.         <img alt="验证码" src="Kaptcha.jpg">        <!-- KaptchaServlet会过滤该请求,返回验证码图片--!>  
  12.           
  13.         <input type="submit" value="提交" />  
  14.     </form>  
  15.   </body>  
  16. </html>  

 

附录:kaptcha的可配置项

kaptcha.border 是否有边框 默认为true 我们可以自己设置yes,no

kaptcha.border.color 边框颜色 默认为Color.BLACKkaptcha.border.thickness 边框粗细度 默认为1

kaptcha.producer.impl 验证码生成器 默认为DefaultKaptcha

kaptcha.textproducer.impl 验证码文本生成器 默认为DefaultTextCreator

kaptcha.textproducer.char.string 验证码文本字符内容范围 默认为abcde2345678gfynmnpwx

kaptcha.textproducer.char.length 验证码文本字符长度 默认为5

kaptcha.textproducer.font.names 验证码文本字体样式 默认为new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize)

kaptcha.textproducer.font.size 验证码文本字符大小 默认为40

kaptcha.textproducer.font.color 验证码文本字符颜色 默认为Color.BLACK

kaptcha.textproducer.char.space 验证码文本字符间距 默认为2

kaptcha.noise.impl 验证码噪点生成对象 默认为DefaultNoise

kaptcha.noise.color 验证码噪点颜色 默认为Color.BLACK

kaptcha.obscurificator.impl 验证码样式引擎 默认为WaterRipplekaptcha.word.impl 验证码文本字符渲染 默认为DefaultWordRenderer

kaptcha.background.impl 验证码背景生成器 默认为DefaultBackground

kaptcha.background.clear.from 验证码背景颜色渐进 默认为Color.LIGHT_GRAY

kaptcha.background.clear.to 验证码背景颜色渐进 默认为Color.WHITE

kaptcha.image.width 验证码图片宽度 默认为200kaptcha.image.height 验证码图片高度 默认为50

分享到:
评论

相关推荐

    spring整合kaptcha验证码的实现

    "spring整合kaptcha验证码的实现" 本文将介绍spring整合kaptcha验证码的实现,主要通过讲解kaptcha的简介、开发工具及使用的核心技术、kaptcha两种使用方式、搭骨架、完善配置文件等几个方面,对spring整合kaptcha...

    spring mvc 使用kaptcha配置生成验证码实例

    本文将详细讲解如何使用Kaptcha库在Spring MVC框架中配置并实现验证码生成。 Kaptcha是一个轻量级的Java验证码生成库,它提供了多种定制选项,包括字体、颜色、噪声等,使得生成的验证码具有较高的可读性同时又能...

    谷歌kaptcha验证码jar包

    总的来说,谷歌Kaptcha验证码jar包是一个强大且易于使用的验证码解决方案,它提供了丰富的定制选项,可以帮助开发者快速实现安全的网页验证功能,有效抵御自动化攻击。在实际开发中,只需合理配置和集成,就能为你的...

    Kaptcha验证码类库及配置

    通过以上介绍,我们可以看到Kaptcha验证码类库是一个实用且灵活的工具,它简化了验证码功能的实现,帮助开发者构建更安全的Web应用。无论你是新手还是经验丰富的开发者,Kaptcha都是一个值得信赖的选择。

    Spring MVC中使用Google kaptcha验证码的方法详解

    在Spring MVC中集成Google kaptcha验证码能够有效地防止恶意登录和批量操作。kaptcha是一个高度可配置的验证码生成库,能够创建各种样式的验证码。以下是如何在Spring MVC项目中使用kaptcha的详细步骤: 1. **Maven...

    谷歌验证码使用工具——kaptcha-2.3.2

    总结来说,kaptcha-2.3.2是Java开发中一个强大且灵活的验证码解决方案,它的出现使得开发者能够轻松地在项目中集成高质量的验证码功能,为网站的安全性提供了有力保障。通过理解和掌握kaptcha的使用,开发者可以更好...

    kaptcha验证码组件使用简介解析

    Kaptcha验证码组件是基于SimpleCaptcha的开源项目,提供了强大的验证码生成和验证功能。该组件的使用非常方便,只需添加jar包依赖和简单的配置就可以使用了。 一、添加jar包依赖 如果您使用Maven来管理jar包,可以...

    springmvc+shiro+kaptcha+excel+hibernate+mail

    这个项目组合"Spring MVC + Shiro + Kaptcha + Excel + Hibernate + Mail"提供了一套全面的技术栈,旨在实现这样的目标。以下是对这些技术组件的详细解释: 1. **Spring MVC**:Spring MVC是Spring框架的一个模块,...

    kaptcha-2.3.2.jar

    3. **易于集成**:kaptcha库设计简洁,易于与其他Java Web应用集成,如Spring MVC、Struts等框架,只需添加对应的依赖并配置相关代码即可。 4. **响应式设计**:随着移动设备的普及,kaptcha也支持生成适应不同屏幕...

    java实现多种验证码

    本教程将深入探讨如何使用Java语言和kaptcha包来实现不同类型的验证码,包括字符与数字混合的验证码、中文验证码以及算术运算式的验证码。 首先,kaptcha是一个强大的开源验证码生成库,它提供了丰富的配置选项,...

    kaptcha-2.3.2.jar工具类

    6. **兼容性**:kaptcha-2.3.2版本兼容Java Servlet API,因此可以无缝集成到基于Servlet的Web应用中,如Spring MVC或Struts等框架。 7. **国际化支持**:kaptcha允许设置验证码的文字语言,满足不同地区的使用需求...

    kaptcha-2.3.jar

    这个库的版本`kaptcha-2.3.jar`提供了方便的API,使得开发者能够轻松地在项目中集成验证码功能。 `kaptcha`库的核心功能包括: 1. **多种验证码样式**:`kaptcha`支持生成各种不同风格的验证码,包括扭曲文字、...

    springMVC实现图形验证码(kaptcha)代码实例

    本资源主要介绍了在 SpringMVC 项目中如何使用 kaptcha 实现图形验证码的功能。通过详细的示例代码,读者可以学习如何在 SpringMVC 项目中实现图形验证码,并对大家的学习或者工作具有一定的参考学习价值。 kaptcha...

    kaptcha-2.3.jar包

    kaptcha是一个开源的Java实现的验证码生成库,而kaptcha-2.3.jar则是这个库的特定版本的归档文件,用于方便开发者在项目中集成kaptcha功能。 kaptcha-2.3.jar包的核心功能是生成复杂且难以通过机器识别的图像验证码...

    Kaptcha.zip

    7. **与Web框架集成**:Kaptcha可以轻松地与Spring MVC、Struts2等主流Java Web框架集成。在控制器中添加相应的方法处理验证码的生成和验证逻辑。 8. **无障碍性**:对于视力障碍的用户,Kaptcha还可以提供音频...

    登陆验证码kaptcha结合spring boot的用法详解

    这样,你就成功地在Spring Boot应用中实现了kaptcha验证码功能,提高了安全性。 总结一下,通过以下步骤可以实现kaptcha验证码与Spring Boot的集成: 1. 添加kaptcha依赖。 2. 创建`CaptchaConfig`配置类,定义...

    kaptcha-2.3.2

    《kaptcha-2.3.2:高效验证码生成器详解》 在网络安全领域,验证码(CAPTCHA)扮演着至关重要的角色,它能...在实际项目中,结合Spring框架或其他MVC框架,可以轻松地将kaptcha集成到应用中,提升网站的整体安全性能。

    项目架构设计1

    验证码功能通过JCaptcha和Kaptcha实现,用于防止恶意注册和登录尝试。 对于Office文档处理,我们使用Apache POI库,它可以读写Microsoft Office格式的文件。对于PDF文档,JasperReport则提供了报告生成和导出功能。...

    【20210611】Springboot开发系统支持与配置文件.pdf

    图形验证码的生成则可以通过`kaptcha`库来实现,这在用户登录验证等场景中非常常见。 此外,文件中还提到了其他一些依赖,可能包括但不限于日志记录、安全控制、邮件发送等功能的组件。每个依赖都有其特定的版本号...

    如何构建快速的mvc开发环境

    10. **Libzkclient 0.3** 和 **Kafkaclient 0.9.0.1**:Kafka客户端,实现消息队列功能。 11. **Slf4j 和 Log4jslf4j-log4j12-1.7.7**:日志记录框架,方便跟踪和调试代码。 在项目管理规范方面,确保遵循以下指导...

Global site tag (gtag.js) - Google Analytics