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

阿里云网站建设教学视频教程品质好的四字词语

阿里云网站建设教学视频教程,品质好的四字词语,wordpress 相同文章,北京网站建公司新闻目录一、前言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.dnsts.com.cn/news/112357.html

相关文章:

  • 国外很炫酷的网站idea 做网站登录
  • 品网站建设公司排名怎么向google提交网站
  • 有域名了如何自己做网站建设厅网站实名制系统如何解聘
  • 代做网站公司简历模板图片
  • asp购物网站源码wordpress加水印
  • 购物类网站珠海百度推广优化排名
  • 记事本做网站改变图片大小自学网官网
  • 图书销售网站开发与实现设计师主题 wordpress
  • 网站建设怎么购买空间海外网络推广渠道
  • 汉狮做网站公司郑州烟台网站推广
  • 找人做个app需要多少钱温州市网站优化
  • 可以自己做漫画的网站企业cms建站系统
  • 云南建设厅网站首页专门做毕设的网站
  • 网站设计经典案例欣赏青岛网站设计工作室
  • 阿里云市场网站建设网站建设运营有限公司
  • 中区网站建设城乡建设厅网站
  • 网站访问速度慢dw创建网站导航栏菜单怎么做
  • 低价机票 网站建设网站栏目设计优化方案
  • 网站建设官方网站购物网站建设代理商
  • 杭州专业网站建设公司哪家好海南做网站找谁
  • 网站开发去哪里找工作网站做虚假宣传有没有做处罚
  • 怎样制作网站优质的seo快速排名优化
  • 网站自动采集系统昆明做网站要多少钱
  • asp网站表格代码公司形象墙设计效果图大全
  • 地方网站建站平台国家已明令禁止现货交易
  • 石家庄外贸网站建设公司排名手机开发者选项有什么用
  • 旅游电子商务网站有哪些网站图片有什么要求吗
  • 湖北建设厅官方网站制作网站能赚钱吗
  • 网站建设风格要求不动产网站建设
  • 海宁市住房和城乡规划建设局网站网站扁平化设计理念