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

深圳福田做网站公司哪家好天津企业如何建网站

深圳福田做网站公司哪家好,天津企业如何建网站,wordpress qq邮箱留言,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.w-s-a.com/news/968614/

相关文章:

  • 网站建设利弊宁波高端网站建设联系方式
  • 网站订票策划方案郑州代做网站
  • 免费的网站加速器注册公司邮箱
  • 千助网站建设网站整站程序
  • 自学建网站做网站优化访问网站出现目录
  • 济南网站建设是什么百度官网登录入口手机版
  • net快速建站西宁手机网站建设
  • 网站浏览器不兼容怎么办软件系统开发大概多少钱
  • 网站建设哪个公司最好shift wordpress
  • 公司网站建设功能介绍室内设计学习
  • 做网站策划容易遇到哪些问题沈阳公司网站制作
  • 做php网站都用框架吗网站备案当面核验拍摄照片
  • 泉州企业自助建站兰州最好的互联网公司
  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站