jsp验证码使用
******************************************image.jsp************************************************
<%@ page contentType="image/jpeg; charset=gbk" 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(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.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="";
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
session.setAttribute("ccode",sRand);
// 图象生效
g.dispose();
// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
out.clear();
out = pageContext.pushBody();
%>
使用时: 在想显示的地方写上: <img src="image.jsp">
红色的"ccode" 是在session中设置的一个变量,在servlet里进行一个session的接收,然后与用户输入的表单值进行比较,来处理一个验证码的问题.
分享到:
相关推荐
jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码
JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字
JSP 验证码代码 JSP 验证码代码 JSP 验证码代码 JSP 验证码代码 JSP 验证码代码 JSP 验证码代码 JSP 验证码代码 JSP 验证码代码
jsp验证码,jsp中文验证码,数字验证码,汉字验证码
jsp验证码实现源代码,用jsp做注册验证码
jsp验证码......源码下载jsp验证码......源码下载jsp验证码......源码下载
jsp验证码图片例子jsp验证码图片例子jsp验证码图片例子
JSP验证码大全之中文验证码(源码),很好的jsp学习源码验证示例!
JSP验证码+自动刷新功能,文件的image.jsp是负责生成验证码的,而display.jsp是负责显示效果.简单易用,平时会出现的异常都已经全部解决.
jsp验证码代码 在开发中验证码是比较常用到有效防止这种问题对某一个特定注册用户用特定程序破解方式进行不断的登陆尝试的方式。 此演示程序包括三个文件: 1.login.jsp:登录页面 2.code.jsp:生成验证码图片页面 3....
5种JSP验证码的源代码.rar
基于JSP写的验证码代码,内附有ppt,仅供大家参考。 基于JSP写的验证码代码,内附有ppt,仅供大家参考。 基于JSP写的验证码代码,内附有ppt,仅供大家参考。 基于JSP写的验证码代码,内附有ppt,仅供大家参考。
使用javascript生成验证码刷新功能
1.在实验四基础上使用AJAX技术实现异步登录功能。(40分) Ajax异步的特点为:多个事件并行发生,事件互不影响,请求之后,不刷新整张页面,页面不动,只是刷新页面的局部。异步数据获取技术 XMLHttpRequest对象方法...
这是一个关于数字做的jsp验证码,有不足的地方希望楼上的朋友给点意见!我想我会做的更好的!
JSP验证码登录程序 Servlet生成验证码 登录验证验证码
本小例子,通过JSP+servlet 实现的验证码! 可以直接移植到你的项目中去! 如果你正在寻找验证码的小插件,那么这就是你所需要的!
JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码
vcode.jsp,验证码使用 vcode.jsp,验证码使用
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码