image.jsp
<%@
page
language="java"
import="java.util.*"
pageEncoding="gb2312"%>
<%@
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);
}
%>
<%
out.clear();
//
设置页面不缓存
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
session.setAttribute("code",sRand);
g.dispose();
//
输出图像
ImageIO.write(image,
"JPEG",
response.getOutputStream());
%>
login.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<%@
page
contentType="text/html;
charset=gb2312"
language="java"
import="java.sql.*"
errorPage=""
%>
<html>
<head>
<title>登录页面</title>
<script
language="javascript">
function
loadimage(){
document.getElementById("randImage").src
=
"image.jsp?"+Math.random();
}
</script>
</head>
<body>
<form
action="check.jsp"
method="post"
name="loginForm">
<td
width="118"
height="22"valign="middle"
align="center"><input
type="text"
name="code"
size="15"></td>
<td
width="138"
align="center"><a
href="javascript:loadimage();"><img
name="randImage"
id="randImage"
src="image.jsp"
width="60"
height="20"valign="middle"
border="1"></a>点击图片刷新
<input
type="submit"
name="login"
value="提交"></td>
</form>
</body>
</html>
check.jsp
|
<%@
page
contentType="text/html;
charset=gb2312"
language="java"
%>
<%
String
rand
=
(String)session.getAttribute("code");
String
input
=
request.getParameter("code");
if(rand.equals(input)){
out.print("<script>alert('验证成功');</script>");
}
else{
out.print("<script>alert('验证失败');location.href='login.jsp';</script>");
}
%>
|
|
分享到:
相关推荐
最新JSP生成验证码最新JSP生成验证码最新JSP生成验证码最新JSP生成验证码最新JSP生成验证码最新JSP生成验证码
JSP生成验证码源程序源代码
JSP生成验证码示例
生成验证码,生成验证码生成验证码,生成验证码
JSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txt
采用jsp 生成验证码,我自己使用过的。使用方法: <img src="./../function/imagejsp.jsp" style="float: left">
生成验证码,用于resin服务器的验证码生成
利用jsp生成图片验证码,没有用到servlet
生成验证码图片的jsp代码生成验证码图片的jsp代码
jsp生成动态验证码,jsp生成动态验证码。
生成验证码 jsp 图片验证码 生成验证码 jsp 图片验证码
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
Jsp生成随机验证码 1.使用方式:在Jsp页面使用标签即可,例如:<img src="../image.jsp" title="验证码" alt="验证码" id="vCode" /> 2.本代码生成的验证码是一张 由26个英文字母和0-9随机组成的一个组合
在jsp登录页面生成验证码,并在登录的时候在后台进行验证码是否一致的比较。
给定范围获得随机颜色 随机产生的认证码(4位数字)
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
//给定范围获得随机颜色//设置页面不缓存// 在内存中创建图象// 获取图形上下文//生成随机类 // 设定背景色 //设定字体// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到 // 取随机产生的认证码(4位...
做好 备份 为以后 唤起 jsp随机生成验证码 记忆
jsp生成中文字符的验证码 中文字符 中文验证码