日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JSP生成验证码源程序

發(fā)布時間:2025/3/19 javascript 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JSP生成验证码源程序 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

<%@?page?contentType="image/jpeg"?import="java.awt.*,?
java.awt.image.*,java.util.*,javax.imageio.*"?%>?
<%?
//?在內(nèi)存中創(chuàng)建圖象?
int?width=60,?height=20;?
BufferedImage?image?=?new?BufferedImage(width,?height,?
BufferedImage.TYPE_INT_RGB);?

//?獲取圖形上下文?
Graphics?g?=?image.getGraphics();?

//?設(shè)定背景色?
g.setColor(new?Color(0xDCDCDC));?
g.fillRect(0,?0,?width,?height);?

//畫邊框?
g.setColor(Color.black);?
g.drawRect(0,0,width-1,height-1);?

//?取隨機產(chǎn)生的認(rèn)證碼(4位數(shù)字)?
String?rand?=?request.getParameter("rand");?
rand?=?rand.substring(0,rand.indexOf("."));?
switch(rand.length())?
{?
case?1:?rand?=?"000"+rand;?break;?
case?2:?rand?=?"00"+rand;?break;?
case?3:?rand?=?"0"+rand;?break;?
default:?rand?=?rand.substring(0,4);?break;?
}?

//?將認(rèn)證碼存入SESSION?
session.setAttribute("rand",rand);?

//?將認(rèn)證碼顯示到圖象中?
g.setColor(Color.black);?
Integer?tempNumber?=?new?Integer(rand);?
String?numberStr?=?tempNumber.toString();?

g.setFont(new?Font("Atlantic?Inline",Font.PLAIN,18));?
String?Str?=?numberStr.substring(0,1);?
g.drawString(Str,8,17);?

Str?=?numberStr.substring(1,2);?
g.drawString(Str,20,15);?
Str?=?numberStr.substring(2,3);?
g.drawString(Str,35,18);?

Str?=?numberStr.substring(3,4);?
g.drawString(Str,45,15);?

//?隨機產(chǎn)生88個干擾點,使圖象中的認(rèn)證碼不易被其它程序探測到?
Random?random?=?new?Random();?
for?(int?i=0;i<20;i++)?
{?
int?x?=?random.nextInt(width);?
int?y?=?random.nextInt(height);?
g.drawOval(x,y,0,0);?
}?

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

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

總結(jié)

以上是生活随笔為你收集整理的JSP生成验证码源程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。