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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Jsp图片验证码及刷新.docx

1、Jsp图片验证码及刷新1.图片验证码的实现主要的技术点是如何生成一个图片。生成图片可以使用java.awt包下的类来实现。我们先写一个简单的生成图片的程序HelloImage.java。以下是代码部分。(是我在做留言板项目时的部分代码)HelloImage .javaview plaincopy to clipboardprint?package liuyanban; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import

2、java.io.IOException; import javax.imageio.ImageIO; /* * 生成图片 */ public class HelloImage public static void main(String args) BufferedImage image = new BufferedImage(80, 50, BufferedImage.TYPE_INT_RGB);/建立BufferedImage对象。指定图片的长度宽度和色彩。 Graphics g = image.getGraphics();/取得Graphics对象,用来绘制图片。 g.setColor(

3、new Color(255,255,255);/绘制图片背景和文字。 g.fillRect(0, 0, 80, 25); g.setColor(new Color(0,0,0); g.drawString(HelloImage,6,16); g.dispose();/释放Graphics对象所占用的资源。 try ImageIO.write(image, jpeg, new File(C:helloImage.jpeg);/通过ImageIO对象的write静态方法将图片输出。 catch(IOException e) e.printStackTrace(); package liuyanba

4、n;import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import javax.imageio.ImageIO;/* 生成图片*/public class HelloImage public static void main(String args) BufferedImage image = new BufferedImage(80, 50, BufferedImage.TYPE_IN

5、T_RGB);/建立BufferedImage对象。指定图片的长度宽度和色彩。 Graphics g = image.getGraphics();/取得Graphics对象,用来绘制图片。 g.setColor(new Color(255,255,255);/绘制图片背景和文字。 g.fillRect(0, 0, 80, 25); g.setColor(new Color(0,0,0); g.drawString(HelloImage,6,16); g.dispose();/释放Graphics对象所占用的资源。 try ImageIO.write(image, jpeg, new File(

6、C:helloImage.jpeg);/通过ImageIO对象的write静态方法将图片输出。 catch(IOException e) e.printStackTrace(); view plaincopy to clipboardprint?* *view plaincopy to clipboardprint?2.生成验证码图片的类 2.生成验证码图片的类view plaincopy to clipboardprint?package liuyanban; import java.awt.Color; import java.awt.Font; import java.awt.Graph

7、ics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletResponse; /* * 生成验证码图片的类 */ public class RandImgCreater private static final String CODE_LIST = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnop

8、qrstuvwxyz1234567890; private HttpServletResponse response = null; private static final int HEIGHT = 20; private static final int FONT_NUM = 4; private int width = 0; private int iNum = 0; private String codeList = ; private boolean drawBgFlag = false; private int rBg = 0; private int gBg = 0; priva

9、te int bBg = 0; public RandImgCreater(HttpServletResponse response) this.response = response; this.width = 13 * FONT_NUM + 12; this.iNum = FONT_NUM; this.codeList = CODE_LIST; public RandImgCreater(HttpServletResponse response,int iNum,String codeList) this.response = response; this.width = 13 * iNu

10、m + 12; this.iNum = iNum; this.codeList = codeList; public String createRandImage() BufferedImage image = new BufferedImage(width, HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); Random random = new Random(); if ( drawBgFlag ) g.setColor(new Color(rBg,gBg,bBg); g.fillRect(0, 0

11、, width, HEIGHT); else g.setColor(getRandColor(200, 250); g.fillRect(0, 0, width, HEIGHT); for (int i = 0; i 155; i+) g.setColor(getRandColor(140, 200); 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

12、 + yl); g.setFont(new Font(Times New Roman, Font.PLAIN, 18); String sRand=; for (int i=0;i 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); package liuyanban;import java.a

13、wt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import java.util.Random;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletResponse;/* 生成验证码图片的类*/public class RandImgCreater private static final String CODE_LIST = A

14、BCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890; private HttpServletResponse response = null; private static final int HEIGHT = 20; private static final int FONT_NUM = 4; private int width = 0; private int iNum = 0; private String codeList = ; private boolean drawBgFlag = false; privat

15、e int rBg = 0; private int gBg = 0; private int bBg = 0; public RandImgCreater(HttpServletResponse response) this.response = response; this.width = 13 * FONT_NUM + 12; this.iNum = FONT_NUM; this.codeList = CODE_LIST; public RandImgCreater(HttpServletResponse response,int iNum,String codeList) this.r

16、esponse = response; this.width = 13 * iNum + 12; this.iNum = iNum; this.codeList = codeList; public String createRandImage() BufferedImage image = new BufferedImage(width, HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); Random random = new Random(); if ( drawBgFlag ) g.setColo

17、r(new Color(rBg,gBg,bBg); g.fillRect(0, 0, width, HEIGHT); else g.setColor(getRandColor(200, 250); g.fillRect(0, 0, width, HEIGHT); for (int i = 0; i 155; i+) g.setColor(getRandColor(140, 200); int x = random.nextInt(width); int y = random.nextInt(HEIGHT); int xl = random.nextInt(12); int yl = rando

18、m.nextInt(12); g.drawLine(x, y, x + xl, y + yl); g.setFont(new Font(Times New Roman, Font.PLAIN, 18); String sRand=; for (int i=0;i 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(

19、r, g, b); view plaincopy to clipboardprint?* *view plaincopy to clipboardprint?3.调用生成验证码图片:img.jsp 3.调用生成验证码图片:img.jspview plaincopy to clipboardprint? * 4.测试,验证,刷新: view plaincopy to clipboardprint? * 4.测试,验证,刷新: view plaincopy to clipboardprint? view plaincopy to clipboardprint?* *view plaincopy to clipboardprint? view plaincopy to clipboardprint?4.测试

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

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