`
429537044
  • 浏览: 48719 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

springmvc集成kaptcha

阅读更多

今天在网上看了一些资料,再花了2个积分在CSDN下载了一个kaptcha-2.3.2.jar的jar包。在springmvc的环境中集成了kaptcha验证码功能。在这里记下来以备以后查看。

关于kaptcha,它是一个可以自由配置 验证码图片的样式以及字数等的验证码插件。

首先在applicationContext.xml中配置验证码的参数

如下:

<!-- 配置验证码 start -->
	<bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha">
		<property name="config">
			<bean class="com.google.code.kaptcha.util.Config">
				<constructor-arg>
					<props>
						<prop key="kaptcha.border">no</prop>
						<prop key="kaptcha.border.color">105,179,90</prop>
						<prop key="kaptcha.textproducer.font.color">red</prop>
						<prop key="kaptcha.image.width">250</prop>
						<prop key="kaptcha.textproducer.font.size">90</prop>
						<prop key="kaptcha.image.height">90</prop>
						<prop key="kaptcha.session.key">code</prop>
						<prop key="kaptcha.textproducer.char.length">4</prop>
						<prop key="kaptcha.textproducer.font.names">宋体,楷体,微软雅黑</prop>
					</props>
				</constructor-arg>
			</bean>
		</property>
	</bean>
	<!-- 配置验证码 end -->

 配置验证码生成方法

如下:

@RequestMapping(value = "captcha-image.do")
	public String handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		response.setDateHeader("Expires", 0);
		response.setHeader("Cache-Control",
				"no-store, no-cache, must-revalidate");
		response.addHeader("Cache-Control", "post-check=0, pre-check=0");
		response.setHeader("Pragma", "no-cache");
		response.setContentType("image/jpeg");
		String capText = captchaProducer.createText();
		request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY,
				capText);
		BufferedImage bi = captchaProducer.createImage(capText);
		ServletOutputStream out = response.getOutputStream();
		ImageIO.write(bi, "jpg", out);
		try {
			out.flush();
		} finally {
			out.close();
		}
		return null;
	}

        @Autowired
	@Qualifier("captchaProducer")
	private Producer captchaProducer;

 获取后台生成的验证码文本:

//获取后台生成的验证码
		String code = (String) request.getSession().getAttribute(
				Constants.KAPTCHA_SESSION_KEY);
前台页面获取验证码
<input type="text" name="captcha" />
<img src="captcha-image.do" width="55" height="20"
					id="kaptchaImage" style="margin-bottom: -3px" />
 

我这里在前台页面应用的jquery

点击图片刷新验证码

<script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
<script type="text/javascript">      
	 $(function(){           
			$('#kaptchaImage').click(function () {//生成验证码  
			  $(this).hide().attr('src', 'captcha-image.do?' + Math.floor(Math.random()*100) ).fadeIn(); 
			     }); 
			   });   
			        
</script> 

 

分享到:
评论

相关推荐

    spring整合kaptcha验证码的实现

    在开发工具及使用的核心技术方面,本文主要使用了eclipse、mybatis、spring、springmvc、kaptcha等技术。其中,eclipse是主要的开发工具,mybatis是持久层框架,spring是主要的框架,springmvc是基于spring的mvc框架...

    springmvc+shiro+kaptcha+excel+hibernate+mail

    它简单易用,可以方便地与Spring集成,提供健壮的安全管理。 3. **Kaptcha**:Kaptcha是一个Java验证码生成库,用于防止自动化程序(如机器人)进行恶意操作。它生成扭曲的图像,用户需要输入正确的文本才能继续...

    kaptcha 图片验证码

    在SpringMVC项目中,集成Kaptcha主要涉及以下几个步骤: 1. 添加依赖:在项目的pom.xml文件中,引入Kaptcha的Maven依赖,通常包括kaptcha和它的依赖com.google.code.kaptcha。 ```xml &lt;groupId&gt;...

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

    在Spring MVC项目中,生成验证码是一项常见的功能,用于防止恶意自动化的机器人操作,例如注册、登录等场景。...通过以上步骤,我们可以轻松地在Spring MVC应用中集成Kaptcha,为用户提供安全可靠的验证码服务。

    springmvc和mybatis集成全部jar包(全)

    springmvc4.3.3和mybatis3.4.1集成最新全部jar包,还包含了其他一些常用的jar包,很全,已经在项目中验证过。 lib/antlr-2.7.2.jar lib/aopalliance-1.0.jar lib/asm-3.3.1.jar lib/aspectjweaver-1.6.5.jar ...

    Springboot SSM (springboot+springmvc+MyBits)

    Kaptcha验证码配置用于增加系统的安全性。Swagger2的配置则用于生成API文档,方便前后端分离下的接口设计和交互。 系统还引入了Hibernate-validator框架,用于在服务端对输入数据进行校验,确保数据的准确性和合法...

    SpringMvc使用GoogleKaptcha生成验证码

    通过以上步骤,我们已经成功地在SpringMvc项目中集成了Google Kaptcha,实现了验证码的生成和验证功能。当用户访问`/generateCaptcha`路径时,会接收到一张包含随机验证码的图片;而当用户提交表单时,服务器端会...

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

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

    SpringBoot+MySQL+Redis+MyBatis实现的校园论坛项目源代码+详细使用说明文档

    实现了一个功能完善的在线论坛,旨在为校园内...构建工具:Apache Maven 集成开发工具: IntelliJ IDEA 2021 数据库:MySQL、Redis 应用服务器:Apache Tomcat 框架:Spring、SpringMVC、Mybatis、SpringBoot 版本控制

    xmljava系统源码-javaweb1024-cluster:javaweb1024-集群

    SpringMVC FreeMarker Mybatis Kaptcha(Google验证码) Druid(数据源) Atomikos(数据源事物) SpringCache(缓存集成redis) Shrio(权限控制,可以精确到按钮级别,集成redis) Redis(缓存服务器) Log4j Maven Generator...

    书评网项目SSM 可做为毕设项目

    该项目集成了多种技术,包括Spring、SpringMVC、MyBatis以及MyBatis-Plus,这些是SSM框架的核心组成部分。下面将详细介绍这个项目中的关键技术点。 1. **Spring框架**:Spring是Java企业级应用开发的基石,它提供了...

    ssm + mp + 书评网 练习项目

    通过这个练习项目,学习者将能够深入理解SSM框架的集成、前端交互、数据库操作以及一些实用的Java库,对Java Web开发有更全面的认识。同时,这也是一个很好的实践平台,能够锻炼问题解决和代码调试能力。

    JavaWeb音乐商城项目-音乐海

    4. **SSM整合**:SSM整合是指将Spring、SpringMVC和MyBatis三个框架集成到一起,形成一个完整的开发解决方案。在音乐海项目中,这三个框架协同工作,Spring管理服务层和DAO层,SpringMVC处理前端请求,MyBatis处理...

    ssm注册功能

    6. **图片验证码**:引入第三方库如`com.google.code.kaptcha`,配置KaptchaProducer,生成随机图片验证码并存储到Session中。在注册页面展示验证码图片,并在提交时校验输入的验证码是否正确。 7. **手机短信...

Global site tag (gtag.js) - Google Analytics