<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %> <%! 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=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); g.setFont(new Font("Times New Roman",Font.PLAIN,18)); 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); } String sRand=""; for (int i=0;i<4;i++){ String rand=String.valueOf(random.nextInt(10)); sRand+=rand; g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); g.drawString(rand,13*i+6,16); } session.setAttribute("ccode",sRand); g.dispose(); ImageIO.write(image, "JPEG", response.getOutputStream()); out.clear(); out = pageContext.pushBody(); %>
<img src="<%=path%>/image.jsp"id="image" />
相关推荐
1. **生成随机数字**:首先,程序会使用Java的`Random`类或者`SecureRandom`类生成4个1到9之间的随机整数,这些数字将组成验证码的内容。 2. **绘制图像**:然后,利用Java的`Graphics2D`类在内存中创建一个新的...
### JSP实现彩纹随机码的关键知识点 #### 1. 设置响应类型和头部信息 JSP页面通过`<%@ page contentType="image/jpeg" %>`设置响应内容类型为图像JPEG格式,这确保了浏览器会正确地显示图像而非文本。同时,通过`...
这个页面会通过Java代码生成随机的验证码字符串,并将其存储在服务器的会话(session)中,以便后续验证使用。同时,它还会生成对应的图像,将随机字符以彩色形式绘制到图像上,然后返回给客户端浏览器显示。 在...
### JSP生成验证码知识点详解 #### 一、概述 在Web应用中,为了防止机器自动填写表单,经常需要加入验证码这一环节。验证码的主要作用是确保操作是由人类而非自动化脚本执行的。本文将详细介绍如何使用Java Server...
在这个项目中,image.jsp可能用于生成随机的验证码图片。通常,服务器端会生成一个唯一的字符串,将其显示在图片上,并存储在服务器的临时变量中。客户端(浏览器)展示图片,用户输入看到的验证码,然后提交时,...
- 如果验证通过,Servlet可能会发送一封包含随机生成的验证码的邮件到用户邮箱,或者直接跳转到设置新密码的页面。 - 用户收到邮件后,输入验证码或回答安全问题,再次提交。 - Servlet验证验证码或安全问题答案...
首先,创建一个名为`image.jsp`的JSP文件,这个文件的主要任务是生成随机的验证码图片。在代码中,我们看到以下几个关键步骤: 1. **设置页面类型**:由于我们需要返回的是图片,所以`contentType`设置为`image/...
1. **生成随机数字或字母**:验证码通常由一组随机的字符组成,可以是数字、字母,甚至包括特殊字符。在JSP中,我们可以使用`java.util.Random`类来生成随机数,然后通过ASCII码转换为对应的字符。 2. **扭曲和变形...
- **生成随机密码**:如果邮箱验证成功,系统生成一个临时的随机密码,一般会使用强密码生成算法确保安全性。 - **密码更新**:将随机密码存储到数据库中,标记为临时密码,同时设置过期时间。 - **发送邮件**:...
在本文中,将详细解读如何使用JSP页面生成随机的验证数字码,即验证码。此过程涉及到Java Web开发中常见的技术细节,包括JSP语法、Java图像处理、Random类的使用、session对象的应用等。 首先,本文给出的JSP页面...
一个常见的应用案例是验证码生成,Servlet动态生成包含随机字符的图片,并将其返回给JSP显示,用于验证用户输入是否正确。 通过以上步骤和知识点,开发者可以在JSP页面中成功地显示由Servlet生成或读取的图片。这...
### 如何使用JSP生成彩色汉字验证码的源码详解 #### 概述 在网站的安全验证环节中,验证码是常见的防止机器自动填写表单的一种手段。本文将详细介绍如何使用Java Server Pages (JSP) 技术来生成彩色的汉字验证码。...
1. **生成随机字符串**:在JSP页面中,使用Java的`Random`类和字符数组生成包含数字和字母的随机字符串。例如,可以定义一个包含大小写字母和数字的字符数组,然后通过随机数生成器选取这些字符。 2. **图像创建**...
- **生成随机验证码**: 生成一个四位数字的字符串作为验证码,并存储到 Session 中以便后续验证。 - **绘制验证码**: 将生成的验证码文本绘制到图片上。 - **添加干扰元素**: 在图片上随机添加一些干扰点,使得其他...
首先,验证码的生成通常分为两个步骤:生成随机字符串和将其转化为图形。在JSP中,我们可以使用Java的内置类和库来完成这个过程。 1. **生成随机字符串** - 首先,导入`java.util.Random`和`java.security....
1. **生成随机字符**:在服务器端,我们需要生成一组随机的字母或数字作为验证码,通常长度为4到6位。这可以通过Java的`Random`类和字符集来实现。 2. **绘制验证码图像**:随机字符需要显示在一张图片上。这通常...
(1) **生成随机字符串**:首先,我们需要创建一个函数,该函数使用Java的`Random`类或`SecureRandom`类生成一组随机的字符串或数字。可以设定字符串的长度,通常为4-6位。 ```java String randomStr = ""; Random ...
这个是基于某个同志的资源进行修改的。 同时生成了缩略图和正常图片的base64值,缩略图用于页面进行显示,正常图片进行后续打开查看。...另外在存储文件的时候生成了随机码,毕竟上传的图片名称可能相同会覆盖掉。
在JSP中,可以使用Java的`Random`类生成随机数字或字母,然后通过Java 2D图形库绘制到图片上。扭曲效果可以通过旋转、缩放、倾斜等操作实现,以增加机器识别的难度。 3. **图片验证码的显示** 生成的验证码图片...