javaweb项目中添加验证码功能

作者 : 星辰 本文共1445个字,预计阅读时间需要4分钟 发布时间: 2021-01-17 共102人阅读

开发介绍

给javaweb项目中添加验证码功能,一般添加到注册登录和评论模块中,作用是可以避免字典攻击。

hutool工具类的集合:我们在写代码时候需要用到的一些常见的方法。我们以后开发功能的时候可以依
赖这个工具类集合,这样可以使我们的开发变得简单。该工具集里面就封装了生成验证码的功能。

开发工具:idea

开发环境:jdk8.0,tomcat8.0,Maven

开发技术:springMVC

实现步骤

1.引入依赖(pom.xml)

<dependency>
  <groupId>cn.hutool</groupId>
  <artifactId>hutool-all</artifactId>
  <version>4.6.8</version>
</dependency>

2.把验证码的图片响应给浏览器的图片(Controller)

 @RequestMapping("/yanzheng")
    public void handleYzm(HttpServletResponse response, HttpSession session) throws IOException {
        //产生一张验证码图片
        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 40, 4, 60);
        String code=lineCaptcha.getCode();//获取验证码图片里面的真正验证码
        session.setAttribute("code",code);
        //把验证码图片放入到response里面交给浏览器
        ServletOutputStream outputStream=response.getOutputStream();
        lineCaptcha.write(outputStream);//把验证码图片放入到相应流里面
        response.flushBuffer();

    }

一般验证码图片看不清需要点击换一张超链接,界面不跳转,图片自动加载一张,所以控制器没有返回值,前端靠jquery来实现

html代码

<img class="yzm_img" id='imgVcode'
src="${pageContext.request.contextPath}/user/yanzheng.do" />
<input name="number" type="text" id="txtVerifyCode"
class="yzm_input"/>
<div class="text_left t1">
<p class="t1">
<span id="vcodeValidMsg">请输入图片中的四个字母。</span>

<span id="number.info" style="color:red"></span>
<a href="#" id="imageChange">看不清楚?换个图片</a>
</p>
</div>

jquery代码

//切换验证码
$("#imageChange").click(function () {
$("#imgVcode").prop("src",'${pageContext.request.contextPath }/user/yanzheng.do?a=Math.random()')
	})
$("form").submit(function () {
	if(checkEmail()&&checkName()&&checkPwd()){
		return true
		}	
return false;
})

这样就可以实现验证码功能了

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"www.vfaner.com",如遇到无法解压的请联系管理员!

微范儿 » javaweb项目中添加验证码功能

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
需要帮助?
加官方群:71622543,即可向管理员或者群员咨询,看到第一时间回复
×
开通VIP 享更多特权,建议使用QQ登录