亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP設計彩色驗證碼實例

2024-09-05 00:23:37
字體:
來源:轉載
供稿:網友

 本實例生成有4個隨機數字和雜亂背景的圖片,數字和背景顏色會改變,服務器端刷新(用history.go(-1)也會變)
產生驗證碼圖片的文件-----image.jsp
<%@ 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);
        }
%>
<%
//設置頁面不緩存
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 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("rand",sRand);

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

// 輸出圖象到頁面
ImageIO.write(image, "JPEG", response.getOutputStream());

%> 
---------------使用驗證碼圖片的文件---------a.jsp------------------------------------
<%@ page contentType="text/html;charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>認證碼輸入頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0"> 
</head>
<body>
<form method=post action="check.jsp">
<table>
<tr>
<td align=left>系統產生的認證碼:</td>
<td><img border=0 src="image.jsp"></td>
</tr>
<tr>
<td align=left>輸入上面的認證碼:</td>
<td><input type=text name=rand maxlength=4 value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="提交檢測"></td>
</tr>
</form>
</body>
</html>
-----------------驗證的頁面----------check.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>認證碼驗證頁面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="0"> 
</head>
<body>
<% 
 String rand = (String)session.getAttribute("rand");
 String input = request.getParameter("rand");
%>
系統產生的認證碼為: <%= rand %><br>
您輸入的認證碼為: <%= input %><br>
<br>
<%
  if (rand.equals(input)) {
%>
<font color=green>輸入相同,認證成功!</font>
<%
  } else {
%>
<font color=red>輸入不同,認證失敗!</font>
<%
  }
%>
</body>
</html>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲一区美女视频在线观看免费| 亚洲老板91色精品久久| 亚洲欧洲日韩国产| 国产欧美日韩精品专区| 精品成人乱色一区二区| 欧美性生交xxxxxdddd| 亚洲石原莉奈一区二区在线观看| 国产精品影片在线观看| 欧美极品欧美精品欧美视频| 亚洲欧美资源在线| 国产98色在线| 国产精品成人一区二区三区吃奶| 国产精品久久久久久久久久久不卡| 成人激情视频网| www.日韩免费| 国产网站欧美日韩免费精品在线观看| 中文精品99久久国产香蕉| 2019中文字幕全在线观看| 日韩最新av在线| 色婷婷av一区二区三区久久| 欧美激情一二区| 欧美激情一区二区三区高清视频| 国产成人一区二区三区电影| 亚洲欧美在线一区二区| 久久香蕉国产线看观看av| 亚洲女同性videos| 成人免费高清完整版在线观看| 97视频免费在线观看| 久久中国妇女中文字幕| 日韩av影视综合网| 国产日产欧美精品| 成人自拍性视频| 国产精品日韩一区| 欧美成人亚洲成人| 久久综合伊人77777蜜臀| 国产精品欧美在线| 欧美不卡视频一区发布| 国产免费观看久久黄| 中文字幕v亚洲ⅴv天堂| 国产一区二区精品丝袜| 91九色在线视频| 日韩在线不卡视频| 欧美理论电影在线观看| 91丨九色丨国产在线| 性色av香蕉一区二区| 亚洲成人1234| 欧美一级视频在线观看| 国产精品丝袜久久久久久高清| 亚洲欧美激情精品一区二区| 欧美日韩在线视频首页| 国产精品久久久久影院日本| 日韩精品久久久久久久玫瑰园| 久久99亚洲精品| 九九久久久久99精品| 伦伦影院午夜日韩欧美限制| 亚洲va久久久噜噜噜| 欧美性受xxxx白人性爽| 2020欧美日韩在线视频| 在线观看精品自拍私拍| 欧美日韩亚洲激情| 国产精品91在线观看| 国内精品免费午夜毛片| 久久这里只有精品99| 2021久久精品国产99国产精品| 国产suv精品一区二区| 2019亚洲男人天堂| 在线视频精品一| 日韩大胆人体377p| 国产精品麻豆va在线播放| 日韩免费在线观看视频| 日韩在线视频网站| 69av视频在线播放| 日韩小视频在线| 丁香五六月婷婷久久激情| 欧美国产精品日韩| 欧美一区二区三区精品电影| 少妇久久久久久| 久久亚洲私人国产精品va| 日韩激情在线视频| 国产精品成人av性教育| 欧美高清不卡在线| 中文字幕av一区中文字幕天堂| 国产精品成人品| 国产精品成人v| 91亚洲精品在线观看| 欧美成人精品不卡视频在线观看| 亚洲欧美国产另类| 性欧美视频videos6一9| 91夜夜揉人人捏人人添红杏| 日本精品免费一区二区三区| 精品少妇v888av| 国产精品久久久久久久天堂| 久久国产精品久久久久| 这里只有精品在线观看| 欧美日韩精品在线播放| 欧美在线激情网| 欧美精品videos性欧美| 国产精品高清网站| 中文字幕精品久久| 亚洲精品天天看| 青草青草久热精品视频在线网站| 91免费在线视频网站| 91久久久久久| 中文字幕在线成人| 国产精品夫妻激情| www国产亚洲精品久久网站| 欧洲成人在线视频| 欧美激情第一页xxx| 亚洲精品免费一区二区三区| 亚洲欧洲黄色网| 日韩欧美中文第一页| www.久久久久久.com| 最新国产成人av网站网址麻豆| 国产精品老女人视频| 国产女人18毛片水18精品| 日韩性生活视频| 欧美片一区二区三区| 久久躁狠狠躁夜夜爽| 国产69久久精品成人| 色婷婷av一区二区三区在线观看| 国产一区二区丝袜| 国产热re99久久6国产精品| 久久精品99久久香蕉国产色戒| 亚洲天堂第二页| 欧美国产精品日韩| 久久色在线播放| 久久精品国产久精国产一老狼| 成人网在线免费看| 国产精品嫩草视频| 精品国产一区二区三区久久| 美日韩精品免费观看视频| 国产精品99久久久久久久久久久久| 欧美日韩高清区| 中文字幕日韩在线观看| 国产精品三级久久久久久电影| 欧美日韩国产第一页| 91视频国产一区| 欧美一区二粉嫩精品国产一线天| 久久天天躁夜夜躁狠狠躁2022| www日韩中文字幕在线看| 韩曰欧美视频免费观看| 中文字幕在线看视频国产欧美在线看完整| 亚洲欧美国产高清va在线播| 国产精品精品视频| 国产精品自拍视频| 亚洲色无码播放| 亚洲国产精品久久久久秋霞蜜臀| www.国产一区| 精品久久久久久久久久国产| 中文精品99久久国产香蕉| 亚洲综合在线中文字幕| 欧美日韩免费网站| 日韩极品精品视频免费观看| 成人免费视频在线观看超级碰| 91精品啪aⅴ在线观看国产| 久久久91精品国产一区不卡| 亚洲xxxxx电影| 久热爱精品视频线路一| 一区二区三欧美| 亚洲跨种族黑人xxx| 日韩一区二区三区xxxx| 一区二区三区四区视频| 久久99亚洲精品| 亚洲在线第一页|