captchaProducer验证码生成

1.pom.xml中导入架包

        <dependency><groupId>com.google.code</groupId><artifactId>kaptcha</artifactId><version>2.3.2</version></dependency>

2.web-mvc.xml添加验证码的主要配置,如颜色等

    <!-- 验证码 --><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.textproducer.font.color">20,15,90</prop><prop key="kaptcha.textproducer.char.length">4</prop><prop key="kaptcha.image.width">124</prop><prop key="kaptcha.textproducer.char.space">1</prop><prop key="kaptcha.textproducer.font.size">30</prop><prop key="kaptcha.image.height">35</prop><prop key="kaptcha.textproducer.font.names">Arial</prop><prop key="kaptcha.noise.impl">com.google.code.kaptcha.impl.NoNoise</prop><prop key="kaptcha.background.clear.from">white</prop><prop key="kaptcha.obscurificator.impl">com.google.code.kaptcha.impl.ShadowGimpy</prop></props></constructor-arg></bean></property></bean>

3.生成验证码图片

    public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {response.setDateHeader("Expires", 0);// Set standard HTTP/1.1 no-cache headers.response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");// Set IE extended HTTP/1.1 no-cache headers (use addHeader).response.addHeader("Cache-Control", "post-check=0, pre-check=0");// Set standard HTTP/1.0 no-cache header.response.setHeader("Pragma", "no-cache");// return a jpegresponse.setContentType("image/jpeg");// create the text for the imageString capText = captchaProducer.createText();System.err.println(capText);// store the text in the sessionrequest.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);// 存放到缓存服务器上,并把key记录到cookie//CodeUtils.creatCode(capText, response, request);// create the image with the textBufferedImage bi = captchaProducer.createImage(capText);ServletOutputStream out = response.getOutputStream();// write the data outImageIO.write(bi, "jpg", out);try {out.flush();} finally {out.close();}}

ps:但是本地测试正常(图一),部署到正式服务器上(图二)

(图1)

(图二)

只想说是什么鬼,后台查询是发现服务器上没有安装配置的字体Arial,安装后重启tomcat即可

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/57226.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人机验证 之 验证码插件

一&#xff0c; vue-puzzle-vcode插件 1、安装vue-puzzle-vcode2&#xff0c;实现代码 3&#xff0c;效果图二&#xff0c; vue2-verify 三&#xff0c;vue-monoplasty-slide-verify 1&#xff0c;安装2&#xff0c;实现3&#xff0c;效果图一&#xff0c; vue-puzzle-vcode…

Hutool 验证码案例

Hutool 验证码案例 目录 Hutool 验证码案例项目结构所学jar包生成验证码业务逻辑登录业务逻辑登录页面login.html 项目结构 所学jar包 hutool、fastjson 生成验证码业务逻辑 package com.bjpowernode.code;import cn.hutool.captcha.CaptchaUtil; import cn.hutool.captcha.…

chatgpt赋能python:10年经验工程师教您如何免费使用Pycharm

10年经验工程师教您如何免费使用Pycharm 什么是Pycharm&#xff1f; Pycharm是一款由JetBrains公司开发的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;它是针对Python编程语言的开发环境&#xff0c;可以提供代码编译、调试、自动完成、版本控制等一系列强大的…

使用 AccountManager 实现系统内共享账号

前言 在开发过程中我们可能遇到自家应用间共享账号的场景。例如 APP1 登录成功后&#xff0c;启动 APP2 时自动完成登录并与 APP1 共享账号信息。 Android 为我们提供了AccountManager 来管理账号信息。 demo 地址 共享前提 两个 app 在一个用户组内使用相同的签名&#x…

切换用户账户访问共享文件夹

问题描述 如题&#xff0c;局域网内访问一台机器的共享文件时&#xff0c;第一次会弹提示框输入用户名和密码&#xff0c;再次访问这台机器的时候共享直接就打开了&#xff1b;如果想用另外一个帐号重新访问这个共享文件夹的话&#xff0c;该怎么办。 解决方案 凭据管理器&…

如何在打开共享时,能够切换用户登录?

问题&#xff1a; 今天在设置共享的时候遇到一个问题&#xff0c;一台windows的机器开了共享&#xff0c;在登录的时候会提示输入用户名和密码&#xff0c;我在输入密码的时候&#xff0c;顺便选择了记住密码【默认在不选择密码的时候&#xff0c;在下次登录时也是直接进去的】…

基于 CNN的年龄和性别检测

自2012年深度学习火起来后&#xff0c;AlexNet&#xff0c;vgg16&#xff0c;vgg19&#xff0c;gooGleNet&#xff0c;caffeNet&#xff0c;faster RCNN等&#xff0c;各种模型层出不群&#xff0c;颇有文艺复兴时的形态。 在各种顶会论文中&#xff0c;对年龄和性别的检测的论…

养育男孩 Boy

ISBN: 978-7-5472-5949-8 作者&#xff1a;闫晗 页数&#xff1a;245页 阅读时间&#xff1a;2021-07-31 推荐指数&#xff1a;★★★★☆ 在所有的动物中&#xff0c;男孩是最难控制和对付的。 男孩更擅长处理那些简单直接的情感&#xff0c;远不如小女孩细腻。 教会孩子通过…

【Python爬虫】利用爬虫抓取双色球开奖号码,获取完整数据,简洁45行代码实现,更新时间2023-06-28

链接&#xff1a;https://pan.baidu.com/s/18oE308_NVNPaCOACw_H5Hw?pwdabc1 利用爬虫抓取双色球开奖号码&#xff0c;获取完整数据&#xff0c;简洁45行代码实现&#xff0c;更新时间2023-06-28 这是网上的数据&#xff0c;怎么将它爬取下来 它将只爬取最近30期的双色球开…

微软154页论文刷屏:GPT-4能力接近人类!初版AGI就快来了...

点击下方卡片&#xff0c;关注“CVer”公众号 AI/CV重磅干货&#xff0c;第一时间送达 点击进入—>【计算机视觉】微信技术交流群 转载自&#xff1a;机器之心 GPT-4 的能力什么档次&#xff1f; 1956 年&#xff0c;在达特茅斯学院召开的一个研讨会上&#xff0c;人工智能这…

TCP传输文件

传输文件和传输信息的区别&#xff1a; 传输信息&#xff0c;只是一条数据&#xff0c;传输文件是多条数据传输信息传输过去一般都会显示&#xff0c;传输文件一般不会显示&#xff0c;一般只是存放在文件中传输文件需要传输&#xff0c;文件大小和文件名称&#xff08;不然不知…

【计算机网路】一个简单的chat程序,并能互传文件(Python)

前言 这个实验已经做了一个多月了&#xff0c;本来打算把程序功能完善一下再分享出来&#xff0c;无奈最近太忙了&#xff0c;又怕改来改去又改崩了就迟迟未改。最近终于把想学了好久的Git学了&#xff0c;就把这个代码传到了Github上。后续如果不出意外的话会继续完善&#x…

数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(4)2022 乐鑫数字芯片提前批笔试

单选题 1、以下关于 System Verilog 的描述&#xff0c;正确的是&#xff08; &#xff09; A. sv 中可以用 logic 代替 Verilog 中的 wire 和 reg 类型 B. sv 中&#xff0c; 定义成 reg 的信号会被综合成触发器 C. sv 中的 function 语言不可被综合 D. 其他都不正确 …

数字 IC 设计职位经典笔/面试题(二)

共100道经典笔试、面试题目&#xff08;文末可全领&#xff09; FPGA 中可以综合实现为 RAM/ROM/CAM 的三种资源及其注意事项&#xff1f; 三种资源&#xff1a;BLOCK RAM&#xff0c;触发器&#xff08;FF&#xff09;&#xff0c;查找表&#xff08;LUT&#xff09;&#xf…

数字IC设计工程师笔试面试经典100题-有答案

转自知乎答主ictown_数字IC设计工程师笔试面试经典100题-有答案-陈恩 1&#xff1a;什么是同步逻辑和异步逻辑&#xff1f;&#xff08;汉王&#xff09; 同步逻辑是时钟之间有固定的因果关系。异步逻辑是各时钟之间没有固定的因果关系。 同步时序逻辑电路的特点&#xff1a;各…

汇顶2018年 IC校招笔试题目

前言 后面,打算整理下数字ic笔试面试题目,希望以此为出发点,补充知识点!声明:个人觉得,学习期间,基本上都是知识的搬运,所以本博客所有内容都可以被大家引用!为了大家方便引用,博客内的图片都没有加博客的水印(除非不是自己的或者没看到)!这篇文章会基于下面这些文…

请收下这份数字IC面试超强攻略!(内附大厂面试题目)

2022年马上就要结束了&#xff0c;想必今年有很多同学也已经感受到IC行业的门槛在不断提升&#xff0c;这一点尤其在面试的过程中感受明显。 前两年的时候&#xff0c;面试官有可能问一些比较简单的问题就能通过&#xff0c;今年可就没那么简单了&#xff0c;必须提前做好相关…

数字IC笔试题3

目录 1.一个八位D/A转换器最小电压增量为0.01V&#xff0c;当输10011100时&#xff0c;输出电压为&#xff08;D&#xff09;V 2.下述概念中不属于面向对象这种编程范畴的是&#xff08;D&#xff09; 3.组合逻辑电路通常由&#xff08;B&#xff09;组合而成 4.三极管作为…

数字IC笔试题4

目录 1.[单选题]下列电路中属于时序逻辑电路的是&#xff08;B&#xff09; 2.[单选题]关于同步设计描述错误的是&#xff08;D&#xff09; 3.[多选题]下面哪种措施不能减少亚稳态影响&#xff08;CD&#xff09; 4.[单选题]状态机没有冗余状态时&#xff0c;可以不写defa…