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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

3种使用java生成验证码的方法.docx

1、3种使用java生成验证码的方法java /image.jsp 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-cach

2、e); response.setDateHeader(Expires, 0); / 在内存中创建图象 / 通过这里可以修改图片大小 int width = 85, height = 23; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); / 获取图形上下文 / g相当于笔 Graphics g = image.getGraphics(); /生成随机类 Random random = new Random(); / 设定背景色 g.setColor(getRandColor(

3、200, 250); / 画一个实心的长方,作为北京 g.fillRect(0, 0, width, height); /设定字体 g.setFont(new Font(黑体, Font.PLAIN, 18); /画边框 g.setColor(Color.BLUE); 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

4、 = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x, y, x + xl, y + yl); / 取随机产生的认证码(4位数字) /String rand = request.getParameter(rand); /rand = rand.substring(0,rand.indexOf(.); String sRand = ; / 如果要使用中文,必须定义字库,可以使用数组进行定义 / 这里直接写中文会出乱码,必须将中文转换为unicode编码 S

5、tring str = A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, m, n, p, s, t, u, v, w, x, y, z, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; for (int i = 0; i /使用验证码的页面login.jsp 登陆页面 function reloadImage() document.getElementById(identity).src = image.jsp?ts= + n

6、ew Date().getTime(); 登陆程序 用户ID: 密  码: 验证码: /image.jsp 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.

7、setHeader(Cache-Control, no-cache); response.setDateHeader(Expires, 0); / 在内存中创建图象 / 通过这里可以修改图片大小 int width = 85, height = 23; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); / 获取图形上下文 / g相当于笔 Graphics g = image.getGraphics(); /生成随机类 Random random = new Random();

8、/ 设定背景色 g.setColor(getRandColor(200, 250); / 画一个实心的长方,作为北京 g.fillRect(0, 0, width, height); /设定字体 g.setFont(new Font(黑体, Font.PLAIN, 18); /画边框 g.setColor(Color.BLUE); g.drawRect(0,0,width-1,height-1); / 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 g.setColor(getRandColor(160, 200); for (int i = 0; i 155; i+) int

9、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 rand = request.getParameter(rand); /rand = rand.substring(0,rand.indexOf(.); String sRand = ; / 如果要使用中文,必须定义字库,可以使用数组进行定义 /

10、 这里直接写中文会出乱码,必须将中文转换为unicode编码 String str = A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y, Z, a, b, c, d, e, f, g, h, i, j, k, m, n, p, s, t, u, v, w, x, y, z, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; for (int i = 0; i /使用验证码的页面login.jsp 登陆页面 function reloadImage() document.getElementById(i

11、dentity).src = image.jsp?ts= + new Date() .getTime(); 登陆程序 用户ID: 密码: 验证码: 效果如下:(2)、使用Servlet生成验证码java /IdentityServlet.java代码如下:package com.helloweenvsfei.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;import java.awt.image.BufferedImage;import java.io.IOException;impo

12、rt java.util.Random;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpe

13、g.JPEGImageEncoder;public class IdentityServlet extends HttpServlet /* * */ private static final long serialVersionUID = -479885884254942306L; public static final char CHARS = 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, G, H, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y, Z ; public static Random random

14、 = new Random(); public static String getRandomString() StringBuffer buffer = new StringBuffer(); for (int i = 0; i 6; i+) buffer.append(CHARSrandom.nextInt(CHARS.length); return buffer.toString(); public static Color getRandomColor() return new Color(random.nextInt(255), random.nextInt(255), random

15、 .nextInt(255); public static Color getReverseColor(Color c) return new Color(255 - c.getRed(), 255 - c.getGreen(), 255 - c .getBlue(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(image/jpeg); String randomS

16、tring = getRandomString(); request.getSession(true).setAttribute(randomString, randomString); int width = 100; int height = 30; Color color = getRandomColor(); Color reverse = getReverseColor(color); BufferedImage bi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics2D g = bi.c

17、reateGraphics(); g.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16); g.setColor(color); g.fillRect(0, 0, width, height); g.setColor(reverse); g.drawString(randomString, 18, 20); for (int i = 0, n = random.nextInt(100); i n; i+) g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1); / 转成JPE

18、G格式 ServletOutputStream out = response.getOutputStream(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); encoder.encode(bi); out.flush(); public static void main(String args) System.out.println(getRandomString(); /Web.xml的配置为: IdentityServlet com.helloweenvsfei.servlet.IdentityServlet IdentityServlet /servlet/IdentityServlet/测试页面identity.html为: identity.html !- funct

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

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