Java 验证码、二维码
资源
需要: jelly-core-1.7.0.GA.jar
网站: http://lychie.github.io/products.html
将下载下来的 jelly-core-1.7.0.GA.jar 丢到项目里,不需要编写任何 java 代码,只需要在项目的 web.xml 文件中配置相关信息即可。
验证码
基于 Servlet 实现,在 web.xml 中配置即可使用。并支持自定义样式,常用的配置项见下表:
| 属性名称 | 属性描述 | 默认值 | 可选值 |
| border | 边框 | no | no,yes |
| borderColor | 边框颜色 | black | RGB,颜色名称 |
| borderThickness | 边框厚度 | 1 | 数值 |
| style | 验证码样式 | wave | wave ( 波纹 ) shadow ( 阴影 ) fishEye ( 鱼眼 ) |
| width | 验证码宽度 ( 不建议的配置项 ) | 230 | 数值 |
| height | 验证码高度 ( 不建议的配置项 ) | 90 | 数值 |
| fontSize | 验证码字体大小 ( 不建议的配置项 ) | 70 | 数值 |
| fontColor | 验证码字体颜色 | black | RGB,颜色名称 |
| fontFamily | 验证码字体 | Arial,Helvetica,Times New Roman,Liberation Mono | 字体名称 |
| charString | 验证码字符 | NU | N ( 随机打乱的数字 ) L ( 随机打乱的小写字母 ) U ( 随机打乱的大写字母 ) NL ( 随机打乱的数字 + 小写字母 ) NU ( 随机打乱的数字 + 大写字母 ) LU ( 随机打乱的大小写字母 ) NLU ( 随机打乱的数字 + 大小写字母 ) |
| charLength | 验证码字符的长度 | 4 | 数值 |
| charSpace | 验证码字符间隔空隙 | 1 | 数值 |
| noiseColor | 干扰线颜色 | black | RGB,颜色名称 |
| sessionKey | 验证码存储在 Session 的 Key | idCode | 字符串 |
波纹样式
web.xml
<servlet-name>ValidateCode</servlet-name>
<servlet-class>org.jelly.image.ValidateCode</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ValidateCode</servlet-name>
<url-pattern>/idCode</url-pattern>
</servlet-mapping>
jsp
结果图:
阴影样式
web.xml
<servlet-name>ValidateCode</servlet-name>
<servlet-class>org.jelly.image.ValidateCode</servlet-class>
<init-param>
<param-name>style</param-name>
<param-value>shadow</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ValidateCode</servlet-name>
<url-pattern>/idCode</url-pattern>
</servlet-mapping>
jsp
结果图:

鱼眼样式
web.xml
<servlet-name>ValidateCode</servlet-name>
<servlet-class>org.jelly.image.ValidateCode</servlet-class>
<init-param>
<param-name>style</param-name>
<param-value>fishEye</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ValidateCode</servlet-name>
<url-pattern>/idCode</url-pattern>
</servlet-mapping>
jsp
结果图:

二维码
基于 Servlet 实现,在 web.xml 中配置即可使用。并支持自定义样式,常用的配置项见下表:
| 属性名称 | 属性描述 | 默认值 | 可选值 |
| size | 图片大小 | 7 | 数值 |
| imageType | 图片类型 | jpg | png,bmp,gif,jpg,jpeg |
| foreground | 二维码前景颜色 | black | RGB,颜色名称 |
| background | 二维码背景颜色 | white | RGB,颜色名称 |
| errorCorrect | 二维码容错率 | H | L(7%)、M(15%)、Q(25%)、H(30%) |
使用默认样式
web.xml
<servlet-name>Qrcode</servlet-name>
<servlet-class>org.jelly.image.Qrcode</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Qrcode</servlet-name>
<url-pattern>/qrcode</url-pattern>
</servlet-mapping>
jsp
结果图:
样式
web.xml
<servlet-name>Qrcode</servlet-name>
<servlet-class>org.jelly.image.Qrcode</servlet-class>
<init-param>
<param-name>foreground</param-name>
<param-value>pink</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Qrcode</servlet-name>
<url-pattern>/qrcode</url-pattern>
</servlet-mapping>
jsp
结果图:
Java 验证码、二维码的更多相关文章
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
- java实现二维码
说起二维码,微信好像最先启用,随后各类二维码就开始流行起来了.那什么是二维码呢. 1.什么是二维码?百度一下即可 http://baike.baidu.com/view/132241.htm?fr=a ...
- java 生成二维码、可带LOGO、可去白边
1.准备工作 所需jar包: JDK 1.6: commons-codec-1.11.jar core-2.2.jar javase-2.2.jar JDK 1.7: commons-codec- ...
- java 生成二维码后叠加LOGO并转换成base64
1.代码 见文末推荐 2.测试 测试1:生成base64码 public static void main(String[] args) throws Exception { String dat ...
- Java实现二维码技术探讨。
Java生成二维码方法有三种: 1: 使用SwetakeQRCode在Java项目中生成二维码 http://swetake.com/qr/ 下载地址 或着http://sourceforge.j ...
- java代码生成二维码
java代码生成二维码一般步骤 常用的是Google的Zxing来生成二维码,生成的一般步骤如下: 一.下载zxing-core的jar包: 二.需要创建一个MatrixToImageWriter类, ...
- java生成二维码打印到浏览器
java生成二维码打印到浏览器 解决方法: pom.xml的依赖两个jar包: <!-- https://mvnrepository.com/artifact/com.google.zxin ...
- 二维码相关---java生成二维码名片,而且自己主动保存到手机通讯录中...
版权声明:本文为博主原创文章,未经博主credreamer 同意不得转载 违者追究法律责任. https://blog.csdn.net/lidew521/article/details/244418 ...
- java生成二维码图片
1.POM文件引入 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core& ...
- java生成二维码(带logo)
之前写过一篇不带logo的二维码实现方式,採用QRCode和ZXing两种方式 http://blog.csdn.net/xiaokui_wingfly/article/details/3947618 ...
随机推荐
- Webservice简介
一.序言 大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊.书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分.但是不得不承认的是Web ...
- spring-security4.1.2的学习
spring security教程 spring security是什么? Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了 ...
- IIS 出现如下错误:PageHandlerFactory-Integrated”
原因: vs2010默认的是4.0框架,4.0的框架是独立的CLR,和2.0的不同,如果想运行4.0的网站,需要用aspnet_regiis注册4.0框架,然后用4.0的Class池,就可以运行4.0 ...
- Mysql 相关字段类型长度
1. Compact行记录是在MySQL 5.0时被引入的,其设计目标是能高效存放数据. 2. Redundant是MySQL 5.0版本之前InnoDB的行记录存储方式. 3. InnoDB存 ...
- Rendering pipeline overview(读书笔记1 --- Real-Time rendering)
1. Rendering pipeline的作用就是在给定的虚拟相机.三维物体.光源.着色方程式.纹理等的条件下产生(渲染)二维图像 2. pipeline包含很多个stage,其效率由最慢的stag ...
- spring代理模式 service远程调用,插件执行
最近,研究了一下平台远程调用的过程,和service层插件执行的原理,记录一下. 1.远程service调用过程 首先看一下类的继承结构 封装调用处理过程 封装service调用接口 封装servic ...
- isMemberOfClass和isKindOfClass的区别
1.isMemberOfClass:作用:用于判断一个对象是否属于当前这个类 Person *rose = [[Person alloc] init]; if ([rose is ...
- ThinkPHP单字母函数(快捷方法)使用总结
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...
- 微信支付开发-当前页面的URL未注册
微信支付的开发设置要求设置微信支付可以发起的目录. 当出现“当前页面的URL未注册”的错误时,检查你的授权目录(一般是未填写或填写有误),注意要二级或者三级目录完全匹配.
- 21.2 Partitioning Types
分区类型: range:根据列值得一个给定的范围 list:和range相似,除了分区被选择基于的列被匹配在一个被设定为分离的值 hash 基于列组成的表达式返回的非负值 key 相似hash ,除 ...