📄 jsp彩色验证码.htm
字号:
<td bgcolor="#666666"><font color="#333333"><strong><font color="#FFFFFF">热点文章链接</font></strong></font><font color="#FFFFFF"> </font></td>
</tr>
<tr>
<td>
<table width="100%" height="2" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
<a href="13004003160.html" target=_blank>JSP生成验证码源程序</a> [<font color="red">18694</font>]<br><a href="13004003159.html" target=_blank>JSP彩色验证码</a> [<font color="red">4416</font>]<br><a href="1300400279.html" target=_blank>一个读取xml文件内容的类</a> [<font color="red">3706</font>]<br><a href="1300400285.html" target=_blank>JSP中读文件和写文件的例子</a> [<font color="red">3144</font>]<br><a href="1300400417.html" target=_blank>将一图片同比例缩小绘制</a> [<font color="red">1887</font>]<br><a href="1300400278.html" target=_blank>jsp读取大对象CLOB并生成xml文件示例</a> [<font color="red">1849</font>]<br><a href="1300400377.html" target=_blank>从网上抓取指定URL源码的方案</a> [<font color="red">1701</font>]<br><a href="1300400330.html" target=_blank>多线程学习初步</a> [<font color="red">1163</font>]<br></table></td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" bordercolor="#666666">
<tr>
<td bgcolor="#666666"><font color="#333333"><strong><font color="#FFFFFF">相关文章链接</font></strong></font><font color="#FFFFFF"> </font></td>
</tr>
<tr>
<td> <table width="100%" height="2" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
<a href="13004003160.html" target=_blank>JSP生成验证码源程序</a> [2005-04-11]<br></table></td>
</tr>
</table></td>
<td width="1%" align="left" valign="top" bgcolor="#666666"> </td>
<td width="73%" align="left" valign="top" bgcolor="#FFFFFF"> <table width="100%" height="726" border="0" cellpadding="2" cellspacing="0" bgcolor="#CCCCCC">
<tr>
<td height="36" align="center" valign="middle" bgcolor="#FFFFFF" style="word-break:break-all" class="title"><strong>JSP彩色验证码</strong></td>
</tr>
<tr>
<td height="40" align="right" valign="middle" bgcolor="#FFFFFF" style="word-break:break-all">作者:xiaohanne
文章来源:<a href="http://tech.ccidnet.com" target=_blank>tech.ccidnet.com</a><br>
访问次数:
<iframe name="ad" frameborder=0 width=30 height=10 scrolling=no src=../count.jsp?news_id=3159></iframe>
次 加入时间:2005-04-10</td>
</tr>
<tr>
<td height="2" align="left" valign="top" bgcolor="#CCCCCC"></td>
</tr>
<tr>
<td height="649" align="left" valign="top" bgcolor="#FFFFFF" style="word-break:break-all">
<table width="100%" height="92%" border="0" cellpadding="6" cellspacing="0">
<tr>
<td height="623" align="left" valign="top" class="content">生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变) <br><br><strong>产生验证码图片的文件image.jsp</strong><br><br><table bgcolor="#CCCCCC" bordercolor="#666666" borderColorDark="#CCCCCC" borderColorLight="#666666" width="100%" border="1" cellpadding="0" cellspacing="4"><tr><td align="left" style="WORD-BREAK: break-all"><%@ page contentType="image/jpeg" import="java.awt.*,<br>java.awt.image.*,java.util.*,javax.imageio.*" %><br><%!<br>Color getRandColor(int fc,int bc){//给定范围获得随机颜色<br> Random random = new Random();<br> if(fc>255) fc=255;<br> if(bc>255) bc=255;<br> int r=fc+random.nextInt(bc-fc);<br> int g=fc+random.nextInt(bc-fc);<br> int b=fc+random.nextInt(bc-fc);<br> return new Color(r,g,b);<br> }<br>%><br><%<br>//设置页面不缓存<br>response.setHeader("Pragma","No-cache");<br>response.setHeader("Cache-Control","no-cache");<br>response.setDateHeader("Expires", 0);<br><br>// 在内存中创建图象<br>int width=60, height=20;<br>BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);<br><br>// 获取图形上下文<br>Graphics g = image.getGraphics();<br><br>//生成随机类<br>Random random = new Random();<br><br>// 设定背景色<br>g.setColor(getRandColor(200,250));<br>g.fillRect(0, 0, width, height);<br><br>//设定字体<br>g.setFont(new Font("Times New Roman",Font.PLAIN,18));<br><br>//画边框<br>//g.setColor(new Color());<br>//g.drawRect(0,0,width-1,height-1);<br><br>// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到<br>g.setColor(getRandColor(160,200));<br>for (int i=0;i<155;i++)<br>{<br> int x = random.nextInt(width);<br> int y = random.nextInt(height);<br> int xl = random.nextInt(12);<br> int yl = random.nextInt(12);<br> g.drawLine(x,y,x+xl,y+yl);<br>}<br><br>// 取随机产生的认证码(4位数字)<br>String sRand="";<br>for (int i=0;i<4;i++){<br> String rand=String.valueOf(random.nextInt(10));<br> sRand+=rand;<br> // 将认证码显示到图象中<br> g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));<br>//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成<br> g.drawString(rand,13*i+6,16);<br>}<br><br>// 将认证码存入SESSION<br>session.setAttribute("rand",sRand);<br><br>// 图象生效<br>g.dispose();<br><br>// 输出图象到页面<br>ImageIO.write(image, "JPEG", response.getOutputStream());<br>%></td></tr></table><br><br><br><strong>使用验证码图片的文件a.jsp </strong><br><br><table bgcolor="#CCCCCC" bordercolor="#666666" borderColorDark="#CCCCCC" borderColorLight="#666666" width="100%" border="1" cellpadding="0" cellspacing="4"><tr><td align="left" style="WORD-BREAK: break-all"><%@ page contentType="text/html;charset=gb2312" %><br><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br><html><br><head><br><title>认证码输入页面</title><br><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br><META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <br><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <br><META HTTP-EQUIV="Expires" CONTENT="0"> <br></head><br><body><br><form method=post action="check.jsp"><br><table><br><tr><br><td align=left>系统产生的认证码:</td><br><td><img border=0 src="image.jsp"></td><br></tr><br><tr><br><td align=left>输入上面的认证码:</td><br><td><input type=text name=rand maxlength=4 value=""></td><br></tr><br><tr><br><td colspan=2 align=center><input type=submit value="提交检测"></td><br></tr><br></form><br></body><br></html></td></tr></table><br><br><br><strong>验证的页面check.jsp</strong><br><br><table bgcolor="#CCCCCC" bordercolor="#666666" borderColorDark="#CCCCCC" borderColorLight="#666666" width="100%" border="1" cellpadding="0" cellspacing="4"><tr><td align="left" style="WORD-BREAK: break-all"><%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %><br><html><br><head><br><title>认证码验证页面</title><br><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br><META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <br><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <br><META HTTP-EQUIV="Expires" CONTENT="0"> <br></head><br><br><body><br><% <br> String rand = (String)session.getAttribute("rand");<br> String input = request.getParameter("rand");<br>%><br>系统产生的认证码为: <%= rand %><br><br>您输入的认证码为: <%= input %><br><br><br><br><%<br> if (rand.equals(input)) {<br>%><br><font color=green>输入相同,认证成功!</font><br><%<br> } else {<br>%><br><font color=red>输入不同,认证失败!</font><br><%<br> }<br>%><br></body><br></html></td></tr></table><br></td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" height="61" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td height="29" align="right" valign="middle"><a href="../read_review.jsp?news_id=3159">查看该新闻的相关评论</a></td>
</tr>
<tr>
<td height="16" align="right" valign="middle"> </td>
</tr>
<tr>
<td height="1" align="right" valign="middle" bgcolor="#999999"></td>
</tr>
</table>
<table width="100%" height="48" border="0" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
<tr bgcolor="#FFFFFF">
<td width="53%" height="48" align="left" valign="top">
<!-- -->
<form name="form3" action="../sendmail.jsp" method="post" onSubmit="return formCheck3()">
<table width="92%" height="206" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
<tr bgcolor="#999999">
<td><font color="#333333"><strong>给我写信</strong></font></td>
</tr>
<tr>
<td height="32" align="center"> <input name=subject type=text size="25" class=inputCls value="邮件主题" onClick="this.value=''" onFocus=this.select() onMouseOver=this.focus()></td>
</tr>
<tr>
<td height="32" align="center"> <INPUT name=from type=text class=inputCls id="from" value="您的邮件" size="25" onClick="this.value=''" onFocus=this.select() onMouseOver=this.focus()>
</td>
</tr>
<tr align="left">
<td height="102" align="center"> <TEXTAREA name="content" rows=6 cols=23 class="textare"></TEXTAREA></td>
</tr>
<tr align="center">
<td> <input type="submit" name="Submit2" class=mybutton value="发送邮件">
</td>
</tr>
</table>
</form>
<!-- -->
</td>
<td width="1%" bgcolor="#999999"></td>
<td width="47%" align="left" valign="top">
<!-- review -->
<form action="../fill_review.jsp" method=post name="form2" onsubmit="return formCheck2()">
<input type="Hidden" name="news_id" value="3159">
<table width="92%" height="181" border="0" cellpadding="2" cellspacing="0" bgcolor="#FFFFFF">
<tr bgcolor="#999999">
<td height="20" colspan="2"><font color="#333333"><strong>发表评论</strong></font></td>
</tr>
<tr align="left">
<td width="38%" align="center"></td>
<td width="62%" height="7" align="center"></td>
</tr>
<tr align="center">
<td align="right">您的网名:</td>
<td align="left"> <input name="review_name" type="text" class=inputCls size="14" maxlength=13 value=""></td>
</tr>
<tr align="center">
<td align="right">您的邮箱: </td>
<td align="left"> <input name="review_email" type="text" class=inputCls size="14" maxlength=20 value=""></td>
</tr>
<tr align="center">
<td height="94" colspan="2"> <TEXTAREA name="review_content" rows=5 cols=23 class="textare"></TEXTAREA>
</td>
</tr>
<tr align="center">
<td colspan="2"> <input name="submit" type=submit class=mybutton value="发表评论"></td>
</tr>
</table>
</form>
<!-- review end -->
</td>
</tr>
</table>
<table width="100%" height="79" border="0" cellpadding="2" cellspacing="2" bgcolor="#FFFFFF">
<tr>
<td height="20" align="left" valign="top" bgcolor="#999999"><font color="#333333"><strong>相关文章链接</strong></font></td>
</tr>
<tr>
<td height="53" align="left" valign="top"><a href="13004003160.html" target=_blank>JSP生成验证码源程序</a> [2005-04-11]<br></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="38" bgcolor="D00C0C">
<div align="center"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">Copyright
© 2002-2005 </font><a href="http://www.jspcn.net"><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif"><b>JSP</b></font></a><font color="#FFFFFF" face="Verdana, Arial, Helvetica, sans-serif">CN.net. All rights reserved.</font></div></td>
</tr>
<tr>
<td height="3" bgcolor="#000000"><img src="images/spacer.gif" width="1" height="3"></td>
</tr>
</table>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -