jsp

位置:IT落伍者 >> jsp >> 浏览文章

JSP中图片验证是如何实现


发布日期:2023年09月05日
 
JSP中图片验证是如何实现

图片验证在有关注册和发表留言经常用到我在此用jsp写了个供大家参考 其中 comsunimage 不是java的标准包需要另外下载相关地址为:

randomjsp (产生四位的随机字符azAZ构成并把最终字符串放到session中保存以让后续页面验证真伪)

代码如下:

<%@ page autoFlush="false" import="javautil*javaawt*javaawtimage*comsunimagecodecjpeg*javautil*"%>
<%@ page import="" contentType="text/html; charset=gb"%>
<%
String chose="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

char display[]={ }ran[]={}temp;

Random rand=new Random();

for(int i=;i<;i++)
{

temp=chosecharAt(randnextInt(choselength()));

display[i*]=temp;

ran[i]=temp;
}

String random=StringvalueOf(display);

sessionsetAttribute("random"StringvalueOf(ran));
%>
<%

outclear();
responsesetContentType("image/jpeg");
responseaddHeader("pragma""NOcache");
responseaddHeader("CacheControl""nocache");
responseaddDateHeader("Expries");
int width= height=;
BufferedImage image = new BufferedImage(width height BufferedImageTYPE_INT_RGB);
Graphics g = imagegetGraphics();
//以下填充背景颜色
gsetColor(ColorGREEN);
gfillRect( width height);
//设置字体颜色
gsetColor(ColorRED);
gdrawString(random);
gdispose();
ServletOutputStream outStream = responsegetOutputStream();
JPEGImageEncoder encoder =JPEGCodeccreateJPEGEncoder(outStream);
encoderencode(image);
outStreamclose();
%>

imgjsp (显示验证图片由于本程序简单让验证程序也一并放在了一起)

代码如下:

<%@ page contentType="text/html; charset=gb" language="java"%>
<%
String num=requestgetParameter("num");
String random=(String)sessiongetAttribute("random");

if(num!=null&&random!=null)
{
if(!numequals(random))
{
outprintln("<script>alert(验证码错误!请重试)</script>");

outprintln("<script>historygo()</script>");

//responsesendRedirect("imgjsp");
}
else
{
outprintln("<center>验证成功!</center>");
}
}
%>
<html>
<head>
<title>图片验证</title>
<meta httpequiv="ContentType" content="text/html; charset=gb">
</head>

<body>
<form action="imgjsp" method="post">
<table>
<tr>
<td>
<input type="text" name="num" size=>
</td>
<td>
<img src="randomjsp">
</td>
</tr>
</table>
<input type="submit" value="OK">
</form>
</body>
</html>


               

上一篇:URL Rewrite实现jsp网站伪静态

下一篇:关于jsp页面使用jstl的异常分析