xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-19
  • 語言: 其他
  • 標簽: 驗證碼??

資源簡介

用于項目實戰(zhàn),可以實現(xiàn)一般登錄或注冊頁面的驗證碼生成與校驗。

資源截圖

代碼片段和文件信息

package?com.xcz.servlet;

import?java.awt.Color;
import?java.awt.Font;
import?java.awt.Graphics2D;
import?java.awt.image.BufferedImage;
import?java.util.Random;
import?javax.imageio.ImageIO;
import?javax.servlet.*;
import?java.io.*;
import?javax.servlet.http.*;
import?javax.servlet.ServletException;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;

@SuppressWarnings(“serial“)
public?class?RandomCodeServlet?extends?HttpServlet?{

public?void?doGet(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{

this.doPost(request?response);
}

public?void?doPost(HttpServletRequest?request?HttpServletResponse?response)
throws?ServletException?IOException?{

//?驗證碼圖片的寬度。
int?width?=?70;
//?驗證碼圖片的高度。
int?height?=?25;
BufferedImage?buffImg?=?new?BufferedImage(width?height?BufferedImage.TYPE_INT_RGB);
Graphics2D?g?=?buffImg.createGraphics();

//?創(chuàng)建一個隨機數(shù)生成器類。
Random?random?=?new?Random();

//?設定圖像背景色(因為是做背景,所以偏淡)
g.setColor(getRandColor(200?250));
g.fillRect(0?0?width?height);
//?創(chuàng)建字體,字體的大小應該根據(jù)圖片的高度來定。
Font?font?=?new?Font(“Times?New?Roman“?Font.HANGING_baseLINE?28);
//?設置字體。
g.setFont(font);

//?畫邊框。
g.setColor(Color.BLACK);
g.drawRect(0?0?width?-?1?height?-?1);
//?隨機產(chǎn)生155條干擾線,使圖象中的認證碼不易被其它程序探測到。
//?g.setColor(Color.GRAY);
g.setColor(getRandColor(160?200));
for?(int?i?=?0;?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);
}

//?randomCode用于保存隨機產(chǎn)生的驗證碼,以便用戶登錄后進行驗證。
StringBuffer?randomCode?=?new?StringBuffer();

//?設置默認生成4個驗證碼
int?length?=?4;
//?設置備選驗證碼:包括“a-z“和數(shù)字“0-9“
String?base?=?“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789“;

int?size?=?base.length();

//?隨機產(chǎn)生4位數(shù)字的驗證碼。
for?(int?i?=?0;?i? //?得到隨機產(chǎn)生的驗證碼數(shù)字。
int?start?=?random.nextInt(size);
String?strRand?=?base.substring(start?start?+?1);

//?用隨機產(chǎn)生的顏色將驗證碼繪制到圖像中。
//?生成隨機顏色(因為是做前景,所以偏深)
//?g.setColor(getRandColor(1?100));

//?調用函數(shù)出來的顏色相同,可能是因為種子太接近,所以只能直接生成
g.setColor(new?Color(20?+?random.nextInt(110)?20?+?random
.nextInt(110)?20?+?random.nextInt(110)));

g.drawString(strRand?15?*?i?+?6?24);

//?將產(chǎn)生的四個隨機數(shù)組合在一起。
randomCode.append(strRand);
}
//?將四位數(shù)字的驗證碼保存到Session中。
HttpSession?session?=?request.getSession();
session.setAttribute(“rand“?randomCode.toString().toLowerCase());

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

//?禁止圖像緩存。
response.setHeader(“Pragma“?“no-cache“);
response.setHeader(“Cache-Control“?“no-cache“);
response.setDateHeader(“Expires“?0);

response.setContentType(“image/jpeg“);

//?將圖像輸出到Servlet輸出流中。
ServletOutputStream?sos?=?response.getOutputStream();
ImageIO.wri

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????946??2012-08-07?00:41??verify\LoginPic.jsp

?????文件???????1294??2012-08-05?22:26??verify\web.xml

?????文件????????847??2012-05-19?16:58??verify\verifyCodeTest\verifyCodeTest\checkVerifyCode.jsp

?????文件???????2325??2012-05-19?15:09??verify\verifyCodeTest\verifyCodeTest\image.jsp

?????文件???????1153??2012-05-19?16:14??verify\verifyCodeTest\verifyCodeTest\useImage.jsp

?????文件????????222??2012-08-06?21:16??verify\verifyCodeTest\verifyCodeTest\備注.txt

?????文件???????3988??2012-08-07?00:42??verify\RandomCodeServlet.java

?????目錄??????????0??2012-08-07?00:49??verify\verifyCodeTest\verifyCodeTest

?????目錄??????????0??2012-08-07?00:49??verify\verifyCodeTest

?????目錄??????????0??2012-08-07?00:49??verify

-----------?---------??----------?-----??----

????????????????10775????????????????????10


評論

共有 條評論