`

JSP生成图片验证码

 
阅读更多

JSP生成图片验证码

1。建立一个JSP页面(image.jsp),把下面的代码全部复制到image.jsp下。
<%@pagecontentType="image/jpeg"import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%>
<%!
ColorgetRandColor(
intfc,intbc)...{//给定范围获得随机颜色
Randomrandom=newRandom();
if(fc>255)fc=255;
if(bc>255)bc=255;
intr=fc+random.nextInt(bc-fc);
intg=fc+random.nextInt(bc-fc);
intb=fc+random.nextInt(bc-fc);
returnnewColor(r,g,b);
}

%>
<%
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader(
"Cache-Control","no-cache");
response.setDateHeader(
"Expires",0);

//在内存中创建图象
intwidth=60,height=20;
BufferedImageimage
=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);

//获取图形上下文
Graphicsg=image.getGraphics();

//生成随机类
Randomrandom=newRandom();

//设定背景色
g.setColor(getRandColor(200,250));
g.fillRect(
0,0,width,height);

//设定字体
g.setFont(newFont("ComicSansMS",Font.PLAIN,20));

//画边框
//g.setColor(newColor());
//g.drawRect(0,0,width-1,height-1);


//随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for(inti=0;i<155;i++)
...{
intx=random.nextInt(width);
inty=random.nextInt(height);
intxl=random.nextInt(12);
intyl=random.nextInt(12);
g.drawLine(x,y,x
+xl,y+yl);
}


//取随机产生的认证码(4位数字)
StringsRand="";
for(inti=0;i<4;i++)...{
Stringrand
=String.valueOf(random.nextInt(10));
sRand
+=rand;
//将认证码显示到图象中
g.setColor(newColor(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand,13*i+6,16);
}


//将认证码存入SESSION
session.setAttribute("rand",sRand);

//图象生效
g.dispose();

//输出图象到页面
ImageIO.write(image,"JPEG",response.getOutputStream());
%>

2。然后在要使用的地方象引用图片一样引用此JSP文件:

<imgsrc="image.jsp">
分享到:
评论

相关推荐

    利用jsp生成图片验证码

    在本主题“利用jsp生成图片验证码”中,我们将探讨如何在JavaServer Pages (JSP)上下文中创建一个简单的图片验证码,而无需使用Servlet。首先,我们要明白JSP是Java Web开发中的视图层技术,它允许我们在HTML页面中...

    jsp生成图片验证码

    总结来说,使用JSP生成图片验证码涉及到以下几个关键点:生成随机字符串、存储验证码、绘制并输出图片以及设置HTTP响应类型。这种方法简单易用,但要注意,对于高级的自动化攻击,可能需要更复杂的验证码解决方案,...

    Jsp图片验证码

    JSP生成图片验证码步骤 #### 步骤1:生成随机字符串 首先,我们需要创建一个随机字符串。这通常通过Java的`Random`类和`StringBuilder`类实现,设定一个字符串长度,然后从预定义的字符集中随机选择字符。 ```...

    JSP 生成随机验证码图片(经典老代码)

    JSP 生成随机验证码图片(经典老代码)

    JSP页面验证码生成图片

    ### JSP页面验证码生成图片详解 #### 一、概述 在网站登录或注册过程中,为了防止恶意登录或机器人操作,通常会使用验证码机制。本文档详细介绍了一种利用JSP技术生成验证码图片的方法。该方法通过Java后端动态...

    生成验证码 jsp 图片验证码

    在本主题中,我们将详细探讨如何使用Java Servlet(jsp)来生成图片验证码。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机生成的字母和数字,显示在一张图片上,用户需要输入看到的文字以证明他们...

    Servlet生成图片验证码

    在这个场景中,我们使用Servlet来生成图片验证码,这是一种防止恶意自动化程序(如机器人)进行非法操作的安全机制。验证码通常是一串随机生成的字符,以图像形式显示,用户需要在输入框中正确输入才能完成验证。 ...

    生成验证码图片的jsp代码

    在Web开发中,使用JSP(JavaServer Pages)来生成验证码图片是一种常见的方法。下面我们将详细讨论如何在JSP中实现验证码的生成。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机的字母和数字,有时...

    JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成

    JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成

    jsp四位验证码图片生成

    本主题聚焦于"jsp四位验证码图片生成",这是一个利用JSP(JavaServer Pages)技术来创建动态生成的4位数字验证码图片的过程。我们将探讨JSP验证码的原理、实现方式以及与JavaScript验证码的对比。 验证码的核心在于...

    jsp java 生成中文验证码

    4. **保存图像到HTTP响应**:将生成的验证码图像写入到HTTP响应的输出流中,以图片格式(如JPEG或PNG)提供给客户端浏览器。 5. **存储验证码值**:同时,需要将生成的验证码字符串存储在服务器的会话(session)中...

    java jsp 生成彩色验证码+验证功能代码,可直接运行,没有数据库

    JSP页面可以将生成的验证码图片发送到客户端,并存储验证码值在服务器端的session中,以便后续验证。 - **使用`&lt;jsp:include&gt;`标签**:将生成验证码的Java代码包含到JSP页面中。 - **`&lt;img&gt;`标签**:生成的验证码...

    Jsp-图片验证码及刷新

    首先,生成图片验证码的核心是创建并绘制一个包含随机文本的图片。`HelloImage.java`展示了这个过程的基本步骤: 1. **创建BufferedImage对象**:使用`BufferedImage`类的构造函数创建一个新的图片对象,指定图片的...

    JSP中利用Servlet生成验证码图片

    ### JSP中利用Servlet生成验证码图片 在Web应用开发中,验证码被广泛应用于用户登录、表单提交等场景,以防止自动化的恶意攻击。本文将详细介绍如何在Java Server Pages (JSP) 和 Servlet 技术的基础上,实现一个...

    JSP 随机验证码

    总的来说,JSP生成的数字验证码结合了Java的强大功能和网页的交互性,提供了一种简单而有效的用户验证方法。在开发过程中,确保验证码的安全性和用户体验是至关重要的。通过对验证码的不断刷新和复杂化设计,我们...

    使用Servlet生成图片验证码

    在"使用Servlet生成图片验证码"这个主题中,我们首先会创建一个Servlet来生成随机的字母和数字组合,通常包含4到6位。这可以通过Java的Random类和Character类来实现。验证码生成后,将其保存在服务器的内存中,以便...

    java生成图片验证码

    生成四种样式的图片验证码 部署在web容器内,将web.xml,及index.jsp放入指定位置,启动后,即可看到效果。

    JSP生成彩色验证码程序

    本教程将深入讲解如何使用JSP来生成彩色的验证码程序。 一、验证码的基本原理 验证码的主要目的是通过要求用户输入图片上显示的一串随机字符,来验证用户是人而非机器。这些字符通常是扭曲的,以便增加机器识别的...

Global site tag (gtag.js) - Google Analytics