ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:17.38KB ,
资源ID:5399434      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5399434.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(验证码代码学习.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

验证码代码学习.docx

1、验证码代码学习 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.setDateHead

2、er(Expires, 0); / 在内存中创建图象 int width = 60, 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); /设定

3、字体 g.setFont(new Font(Times New Roman, Font.PLAIN, 18); /画边框 /g.setColor(new Color(); 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.nextIn

4、t(12); int yl = random.nextInt(12); g.drawLine(x, y, x + xl, y + yl); / 取随机产生的认证码(4位数字) String sRand = ; for (int i = 0; i 上面是jsp页面中的验证码下面是servlet中的验证码Java code package comm;import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.util

5、.Random; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public cl

6、ass ImageServlet extends HttpServlet private static final long serialVersionUID = 1L; /验证码值 private static String value; / 验证码图片的宽度。 private int width = 63; / 验证码图片的高度。 private int height = 20; / 验证码字符个数 private int codeCount = 4; / 字体高度 private int fontHeight; / 验证码随机数字 char codeSequence = A, B, C,

7、 D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; /* * 初始化验证图片属性 */ public void init() throws ServletException / 从web.xml中获取初始信息 / 宽度 String strWidth = this.getInitParameter(width); / 高度 String strHeight = this.getInitParameter(height); / 字符个数 Strin

8、g strCodeCount = this.getInitParameter(codeCount); / 将配置的信息转换成数值 try if (strWidth != null & strWidth.length() != 0) width = Integer.parseInt(strWidth); if (strHeight != null & strHeight.length() != 0) height = Integer.parseInt(strHeight); if (strCodeCount != null & strCodeCount.length() != 0) codeCo

9、unt = Integer.parseInt(strCodeCount); catch (NumberFormatException e) fontHeight = height - 2; protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, java.io.IOException HttpSession session = req.getSession(); / 定义图像buffer BufferedImage buffImg = new Buffer

10、edImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = buffImg.createGraphics(); / 创建一个随机数生成器类 Random random = new Random(); / 将图像填充随即背景颜色 (指定范围) g.setColor(getRandColor(200, 250); g.fillRect(0, 0, width, height); / 创建字体,字体的大小应该根据图片的高度来定。 Font font = new Font(Fixedsys, Font.PLAIN, fontHe

11、ight); / 设置字体。 g.setFont(font); / 画边框。 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.dr

12、awLine(x, y, x + xl, y + yl); / randomCode用于保存随机产生的验证码,以便用户登录后进行验证。 StringBuffer randomCode = new StringBuffer(); int red = 0, green = 0, blue = 0; / 随机产生codeCount数字的验证码。 for (int i = 0; i 255) fc = 255; if (bc 255) bc = 255; int r = fc + random.nextInt(bc - interval); int g = fc + random.nextInt(bc - interval); int b = fc + random.nextInt(bc - interval); return new Color(r, g, b); /* * ajax验证图片验证码 (页面使用此验证图片验证码是否正确,返回Boolean) * param imgvalue * return */ public boolean getValidateValue(String imgvalue) /转换为统一的大写比较,用户可以不用管大小写 return imgvalue.toUpperCase().equals(value);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1