- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JSP彩色验证码字母数字.doc
JSP彩色验证码 字母+数字.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了。他只是比对方更珍惜这份感情。本文说明了如何在JSP中生成彩色的由数字加字母随机组成的验证码,以及不刷新页面改变验证码的方法.本文参考了网友的一些代码,并在此基础上做了一些修改!
产生验证码图片的文件image.jsp
%@ page contentType image/jpeg import java.awt.*,java.awt.image.*,java.util.*,javax.imageio.* pageEncoding UTF-8 %
%!Color getRandColor int fc, int bc //给定范围获得随机颜色
Random random new Random ;
if fc 255 fc 255;
if bc 255 bc 255;
int r fc + random.nextInt bc - fc ;
int g fc + random.nextInt bc - fc ;
int b fc + random.nextInt bc - fc ;
return new Color r, g, b ;
%
%
//设置页面不缓存
response.setHeader Pragma, No-cache ;
response.setHeader Cache-Control, no-cache ;
response.setDateHeader Expires, 0 ;
// 在内存中创建图象
int width 80, height 20;
BufferedImage image new BufferedImage width, height, BufferedImage.TYPE_INT_RGB ;
// 获取图形上下文
Graphics g image.getGraphics ;
//生成随机类
Random random new Random ;
// 设定背景色
g.setColor getRandColor 200, 250 ;
g.fillRect 0, 0, width, height ;
//设定字体
g.setFont new Font Times New Roman, Font.BOLD, 18 ;
//画边框
g.setColor new Color 0, 0, 0 ;
g.drawRect 0, 0, width - 1, height - 1 ;
// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor getRandColor 160, 200 ;
for int i 0; i 155; i++ int x random.nextInt width ;
int y random.nextInt height ;
int xl random.nextInt 12 ;
int yl random.nextInt 12 ;
g.drawLine x, y, x + xl, y + yl ; // 取随机产生的认证码 4位数字
String sRand ;
for int i 0; i 4; i++ String rand null;
//随机生成数字或者字母
if random.nextInt 10 5 rand String.valueOf char random .nextInt 10 + 48 ; else rand String.valueOf char random .nextInt 26 + 65 ; sRand + rand;
// 将认证码显示到图象中
g.setColor new Color random.nextInt 80 , random .nextInt 80 , random.nextInt 80 ;
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString rand, 15 * i + 10, 16 ; // 将认证码存入SESSION
session.setAttribute rand, sRand ;
// 图象生效
g.dispose ;
// 输出图象到页面
ImageIO.write image, JPEG, response.getOutputStream ;
%
使用验证码图片的文件a
您可能关注的文档
- gcd5010隔爆型防爆灯和BTd250_400防爆投光灯价格.docx
- GD-FSJ全自动粉丝机和50型红薯粉条粉丝机价格.docx
- GENESIS等离子体发射光谱仪和电感耦合等离子体发射光谱仪ICP-OES价格.docx
- gf103防爆投光灯和BPC8600防爆平台灯价格.docx
- gf103防爆投光灯和TCD580led防爆灯具价格.docx
- GK-TZY系列电力一次消谐装置.ppt
- GLII:2012年LED主流白光灯珠平均价格同比下降32%.docx
- GMP的无菌保证徐林.doc
- Goodmorning!Period4-tanslation.ppt
- google地球地形导出及等高线生成.doc
- JY20-2-LED荧光灯和防爆灯LED50W价格.docx
- JY37-2防水荧光工作灯和bhy防爆荧光灯价格.docx
- kf-1水分测定仪和JA21002P硬质泡沫吸水率天平价格.docx
- kf-1水分测定仪和JA50002P硬质泡沫吸水率测定仪价格.docx
- KHD_GYD110防爆节能灯和防爆投光灯btc8210价格.docx
- KHM53-110W防爆高效节能LED马路灯和100wled防爆投光灯价格.docx
- KHM53-50W防爆高效节能LED马路灯和BAD83无极灯价格.docx
- Lacoste2010秋冬女装系列.doc
- lBJ-80全自动烙饼机和煎饼机价格.docx
- LCH-NGRD发电机中性点接地电阻柜说明书.doc
文档评论(0)