<%@pagecontentType="image/jpeg"import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*"%><%!//隨機(jī)顏色ColorgetRandColor(intfc,intbc){Randomrandom=newRan" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

JSP生成驗(yàn)證碼

系統(tǒng) 1874 0

image.jsp

<% @ page language = "java" import = "java.util.*" pageEncoding = "gb2312" %>
<% @ page contentType = "image/jpeg" import = "java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*" %>
<% !
/ / 隨機(jī)顏色
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 ( ) ;
/ / 設(shè)置頁(yè)面不緩存
response . setHeader ( "Pragma" , "No-cache" ) ;
response . setHeader ( "Cache-Control" , "no-cache" ) ;
response . setDateHeader ( "Expires" , 0 ) ;
/ / 定義圖片的長(zhǎng)度和高度
int width = 60 , height = 20 ;
/ / 在內(nèi)存中創(chuàng)建圖像
BufferedImage image = new BufferedImage ( width , height , BufferedImage . TYPE_INT_RGB ) ;
Graphics g = image . getGraphics ( ) ;
/ / 隨機(jī)類(lèi)
Random random = new Random ( ) ;
/ / 設(shè)置背景
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 ) ) ;
/ / 用線條畫(huà)背景
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 ) ;
}
/ / 生成驗(yàn)證碼隨機(jī)數(shù)
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 ) ;
}
/ / 將認(rèn)證碼存入 SESSION
session . setAttribute ( "code" , sRand ) ;
g . dispose ( ) ;
/ / 輸出圖像
ImageIO . write ( image , "JPEG" , response . getOutputStream ( ) ) ;
%>
login.jsp

XHTML
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> 登錄頁(yè)面 </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> 點(diǎn)擊圖片刷新
<input type = "submit" name = "login" value = "提交" > </td>
</form>
</body>
</html>
check.jsp

XHTML
1
2
3
4
5
6
7
8
9
10
<% @ 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('驗(yàn)證成功');</script>" ) ;
} else {
out . print ( "<script>alert('驗(yàn)證失敗');location.href='login.jsp';</script>" ) ;
}
%>
JSP生成驗(yàn)證碼 JSP生成驗(yàn)證碼


JSP生成驗(yàn)證碼


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 屏东市| 阳曲县| 竹北市| 隆德县| 灯塔市| 新绛县| 铁岭县| 宁陕县| 和静县| 神木县| 黔西| 手机| 隆尧县| 沙湾县| 象州县| 成武县| 巨野县| 新宾| 江安县| 南溪县| 文成县| 威宁| 彰武县| 屏山县| 曲沃县| 电白县| 永年县| 永泰县| 峨眉山市| 明水县| 林州市| 嘉义县| 吐鲁番市| 新巴尔虎右旗| 江都市| 高青县| 蕉岭县| 梓潼县| 咸丰县| 红安县| 宜阳县|