当前位置: 首页 > news >正文

阿里云网站建设教学视频教程合肥庐阳区建设局网站

阿里云网站建设教学视频教程,合肥庐阳区建设局网站,网站设计规划书怎么写,南昌建设人才网站目录一、前言1.Kaptcha 简介2.Kaptcha 详细配置表二、实现1.整合kaptcha#xff0c;创建kaptcha的工具类1.1 添加依赖1.2 创建KaptchaConfig工具类2 编写接口#xff0c;在接口中使用 kaptcha 工具类来生成验证码图片#xff08;验证码信息#xff09;并返回3 登录时从sess… 目录一、前言1.Kaptcha 简介2.Kaptcha 详细配置表二、实现1.整合kaptcha创建kaptcha的工具类1.1 添加依赖1.2 创建KaptchaConfig工具类2 编写接口在接口中使用 kaptcha 工具类来生成验证码图片验证码信息并返回3 登录时从session中获取验证码进行校验4.测试4.1 测试获取验证码图片的接口4.2 登录接口校验验证码三、完整代码一、前言 kaptcha 是一个很有用的验证码生成工具由于它有许多可配置项所以用它可以简单快捷的生成各式各样的验证码。 1.Kaptcha 简介 Kaptcha谷歌验证码 是一个可高度配置的实用验证码生成工具可自由配置的选项如 验证码的字体验证码字体的大小验证码字体的字体颜色验证码内容的范围(数字字母中文汉字)验证码图片的大小边框边框粗细边框颜色验证码的干扰线验证码的样式(鱼眼样式、3D、普通模糊、…) 2.Kaptcha 详细配置表 二、实现 实现思路 1.整合kaptcha创建kaptcha的工具类 2.编写接口在接口中使用 kaptcha 工具类来生成验证码图片验证码信息并返回 3.登录时从 session 中获取验证码进行校验 4.测试获取验证码图片验证码信息接口 1.整合kaptcha创建kaptcha的工具类 1.1 添加依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency !--谷歌 验证码-- dependencygroupIdcom.github.penggle/groupIdartifactIdkaptcha/artifactIdversion2.3.2/version /dependency1.2 创建KaptchaConfig工具类 package com.example.validationcodedemo.config;import com.google.code.kaptcha.impl.DefaultKaptcha; import com.google.code.kaptcha.util.Config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.util.Properties;/*** 谷歌验证码配置文件* author qzz*/ Configuration public class KaptchaConfig {Bean(name kaptchaProducer)public DefaultKaptcha getKaptchaBean(){DefaultKaptcha defaultKaptcha new DefaultKaptcha();Properties properties new Properties();//是否有边框 默认true 也可以自己设置yes,noproperties.setProperty(kaptcha.border, no);//验证码文本字符颜色 默认为Color.BLACKproperties.setProperty(kaptcha.textproducer.font.color, black);// 验证码图片宽度 默认为200properties.setProperty(kaptcha.image.width, 160);// 验证码图片高度 默认为50properties.setProperty(kaptcha.image.height, 60);// 验证码文本字符大小 默认为40properties.setProperty(kaptcha.textproducer.font.size, 38);//存储在session中值的keyproperties.setProperty(kaptcha.session.key, kaptchaCode);// 验证码文本字符长度 默认为5properties.setProperty(kaptcha.textproducer.char.length, 4);// 验证码文本字体样式 默认为new Font(Arial, 1, fontSize), new Font(Courier, 1, fontSize)properties.setProperty(kaptcha.textproducer.font.names, Arial,Courier);// 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpyproperties.setProperty(kaptcha.obscurificator.impl, com.google.code.kaptcha.impl.ShadowGimpy);Config config new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;}Bean(name kaptchaProducerMath)public DefaultKaptcha getKaptchaBeanMath(){DefaultKaptcha defaultKaptcha new DefaultKaptcha();Properties properties new Properties();//是否有边框 默认true 也可以自己设置yes,noproperties.setProperty(kaptcha.border, yes);//边框颜色properties.setProperty(kaptcha.border.color, 105,179,90);//验证码文本字符颜色 默认为Color.BLACKproperties.setProperty(kaptcha.textproducer.font.color, black);// 验证码图片宽度 默认为200properties.setProperty(kaptcha.image.width, 160);// 验证码图片高度 默认为50properties.setProperty(kaptcha.image.height, 60);// 验证码文本字符大小 默认为40properties.setProperty(kaptcha.textproducer.font.size, 38);//存储在session中值的keyproperties.setProperty(kaptcha.session.key, kaptchaCodeMath);//验证码文本生成器properties.setProperty(kaptcha.textproducer.impl,com.tonglei.config.KaptchaTextCreator);// 验证码文本字符间距 默认为2properties.setProperty(kaptcha.textproducer.char.space, 3);// 验证码文本字符长度 默认为5properties.setProperty(kaptcha.textproducer.char.length, 4);// 验证码文本字体样式 默认为new Font(Arial, 1, fontSize), new Font(Courier, 1, fontSize)properties.setProperty(kaptcha.textproducer.font.names, Arial,Courier);// 图片样式 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpyproperties.setProperty(kaptcha.obscurificator.impl, com.google.code.kaptcha.impl.ShadowGimpy);// 验证码噪点颜色 默认为Color.BLACKproperties.setProperty(kaptcha.noise.color, black);// 干扰实现类 DefaultNoise\NoNoiseproperties.setProperty(kaptcha.noise.impl, com.google.code.kaptcha.impl.DefaultNoise);Config config new Config(properties);defaultKaptcha.setConfig(config);return defaultKaptcha;} } 2 编写接口在接口中使用 kaptcha 工具类来生成验证码图片验证码信息并返回 编写获取验证码图片或者验证码信息功能接口 package com.example.validationcodedemo.controller;import com.google.code.kaptcha.Producer; import org.apache.tomcat.util.http.fileupload.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.IOException;/*** 验证码* author qzz*/ RestController public class ValidationCodeController {Autowiredprivate Producer kaptchaProducer;Autowiredprivate Producer kaptchaProducerMath;/*** 生成验证码图片* param request* param response*/RequestMapping(/createKaptchaCodeImg)public void createKaptchaCode(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setHeader(Cache-Control,no-store);response.setContentType(image/jpeg);//文本验证码String text kaptchaProducer.createText();//图片验证码BufferedImage image kaptchaProducer.createImage(text);//保存验证码到sessionrequest.getSession().setAttribute(kaptchaCode,text);ServletOutputStream outputStream response.getOutputStream();//设置写出图片的格式ImageIO.write(image,jpg,outputStream);//关闭输出流IOUtils.closeQuietly(outputStream);}/*** 生成验证码图片有边框* param request* param response*/RequestMapping(/createKaptchaCodeImg2)public void createKaptchaCode2(HttpServletRequest request, HttpServletResponse response) throws IOException {response.setHeader(Cache-Control,no-store);response.setContentType(image/jpeg);//文本验证码String text kaptchaProducer.createText();//图片验证码BufferedImage image kaptchaProducerMath.createImage(text);//保存验证码到sessionrequest.getSession().setAttribute(kaptchaCodeMath,text);ServletOutputStream outputStream response.getOutputStream();//设置写出图片的格式ImageIO.write(image,jpg,outputStream);//关闭输出流IOUtils.closeQuietly(outputStream);} 3 登录时从session中获取验证码进行校验 /*** 用户登录 校验验证码*/PostMapping(/login)public Result login(RequestBody UserLoginRequestJson requestJson,HttpServletRequest request){Result result new Result();//从session中获取验证码String kaptchaCode String.valueOf(request.getSession().getAttribute(kaptchaCode));//用户输入和session获取的验证码进行验证if (!requestJson.getCode().equals(kaptchaCode)){//验证码验证失败return Result.fail(10910,验证码不正确请重新输入);}//登录流程...省略return Result.success();}注意从session中获取验证码时key值一定要和前面生成验证码时存储的key保持一致。 4.测试 4.1 测试获取验证码图片的接口 4.2 登录接口校验验证码 验证码输入错误 验证码输入正确 三、完整代码 可点击此处下载
http://www.ho-use.cn/article/10820400.html

相关文章:

  • 云南省建设工程招标投标行业协会网站沈阳点金网站建设
  • 深色网站wordpress完整搬家
  • 彩票网站如何建设提升网站转化率
  • 微信小程序可以做电影网站吗成全视频观看免费高清中国电视剧
  • 西安将军山网站建设网站地图提交地址
  • 个人求职网站如何做游戏网站开发文档
  • WordPress对接微信公众号人员优化方案怎么写
  • 成都微信端网站建广告设计制作税率
  • 移动端网站建设公司怎样做天猫 淘宝网站导购
  • 中国做网站最好的不用登录的传奇游戏
  • 网站论坛建设需要什么资质怎么利用爬虫技术 提高网站排名
  • ps如何做网站轮播图房产网站方案
  • 建站市场3d建模怎么做网站旋转
  • 动易网站模板制作方法网络广告营销典型案例
  • 开发一个网站做公司内部用网站备案删除
  • 各类设计型网站创建网站需要什么
  • 深圳高端网站建设美工wordpress 探针
  • 网站二次开发没人做网站布局框架
  • 网站建设公司推荐 金石下拉上海青浦网站建设公司
  • 国家现代农业示范区建设网站泰安房产中介公司
  • 怎么查网站死链网站 html5
  • 自己做的网站403品牌建设运营方案
  • 网站制作设计正规公司北京关键词优化平台
  • 找logo的网站做网站中显示链接中内容
  • 东莞网站建设乐云seo政务公开做的好的网站有哪些
  • 外贸网站seo推广wordpress 账号 有效期
  • 十堰秦楚网 十堰新闻门户网站深圳建设合同备案 网站
  • 检测网站名 注册红旗渠建设集团网站
  • 网站开发合同管辖权异议wordpress免费建站
  • 网站建设规划面试技巧网站超大文件上传