資源簡介
JavaWeb項目生成隨機驗證碼,使用IDEA開發,可以導入到Eclipse和MyEclipse中

代碼片段和文件信息
import?javax.imageio.ImageIO;
import?javax.servlet.ServletException;
import?javax.servlet.annotation.WebServlet;
import?javax.servlet.http.HttpServlet;
import?javax.servlet.http.HttpServletRequest;
import?javax.servlet.http.HttpServletResponse;
import?javax.servlet.http.HttpSession;
import?java.awt.*;
import?java.awt.image.BufferedImage;
import?java.io.IOException;
import?java.util.Random;
/**
?*?Created?by?HE?on?2016/9/18.
?*/
@WebServlet(name?=?“AuthCode“)
public?class?AuthCode?extends?HttpServlet?{
????private?static?final?int?WIDTH?=?60;//設置驗證碼圖片寬度
????private?static?final?int?HEIGHT?=?20;//設置驗證碼圖片高度
????private?static?final?int?LENGTH?=?4;//設置驗證碼長度
????//設置驗證碼隨機出現的字符
????private?static?final?String?str?=?“1234567890“?+
????????????“abcdefghijklmnopqrstuvwxyz“?+
????????????“ABCDEFGHIJKLMNOPQRSTUVWXYZ“;
????char[]?chars?=?str.toCharArray();//將字符放在數組中方便隨機讀取
????private?static?Random?random?=?new?Random();
????protected?void?doGet(HttpServletRequest?request?HttpServletResponse?response)?throws?ServletException?IOException?{
????????//設置輸出的類型為圖片
????????response.setContentType(“image/jpeg“);
????????//設置不進行緩存
????????response.setHeader(“pragma“?“no-cache“);
????????response.setHeader(“cache-control“?“no-cache“);
????????response.setHeader(“expires“?“0“);
????????BufferedImage?image?=?new?BufferedImage(WIDTH?HEIGHT?BufferedImage.TYPE_3BYTE_BGR);
????????//畫筆
????????Graphics?graphics?=?image.getGraphics();
????????//設置背景顏色并繪制矩形背景
????????graphics.setColor(Color.WHITE);
????????graphics.fillRect(0?0?WIDTH?HEIGHT);
????????//用于記錄生成的驗證碼
????????String?code?=?null;
????????//生成驗證碼并繪制
????????for?(int?i?=?0;?i?????????????String?c?=?““?+?chars[random.nextInt(str.length())];
????????????graphics.setColor(getColor());
????????????graphics.drawString(c?10?*?i?+?10?18);
????????????code?+=?c;
????????}
????????//生成干擾點
????????for?(int?i?=?0;?i?50;?i++)?{
????????????graphics.setColor(getColor());
????????????graphics.drawOval(random.nextInt(60)?random.nextInt(20)?1?1);
????????}
????????//將生成的驗證碼存入session中,以便進行校驗
????????HttpSession?session?=?request.getSession();
????????session.setAttribute(“code“?code);
????????//繪制圖片
????????graphics.dispose();
????????//將圖片輸出到response中
????????ImageIO.write(image?“JPEG“?response.getOutputStream());
????}
????//隨機生成顏色
????private?Color?getColor()?{
????????return?new?Color(random.nextInt(255)?random.nextInt(255)?random.nextInt(255));
????}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-09-18?20:17??AuthCode\
?????文件?????????335??2016-09-18?20:17??AuthCode\.classpath
?????目錄???????????0??2016-09-18?20:17??AuthCode\.idea\
?????目錄???????????0??2016-09-18?18:56??AuthCode\.idea\artifacts\
?????文件?????????507??2016-09-18?18:56??AuthCode\.idea\artifacts\AuthCode_war_exploded.xm
?????文件?????????686??2016-09-18?18:56??AuthCode\.idea\compiler.xm
?????目錄???????????0??2016-09-18?18:56??AuthCode\.idea\copyright\
?????文件??????????76??2016-09-18?18:56??AuthCode\.idea\copyright\profiles_settings.xm
?????文件?????????159??2016-09-18?18:56??AuthCode\.idea\encodings.xm
?????文件????????1161??2016-09-18?20:01??AuthCode\.idea\misc.xm
?????文件?????????256??2016-09-18?18:56??AuthCode\.idea\modules.xm
?????文件???????53844??2016-09-18?20:17??AuthCode\.idea\workspace.xm
?????文件?????????346??2016-09-18?20:17??AuthCode\.project
?????文件?????????385??2016-09-18?20:17??AuthCode\AuthCode.eml
?????文件?????????917??2016-09-18?18:56??AuthCode\AuthCode.iml
?????文件??????????66??2016-09-18?20:17??AuthCode\AuthCode.userlibraries
?????目錄???????????0??2016-09-18?19:23??AuthCode\out\
?????目錄???????????0??2016-09-18?18:59??AuthCode\out\artifacts\
?????目錄???????????0??2016-09-18?20:02??AuthCode\out\artifacts\AuthCode_war_exploded\
?????目錄???????????0??2016-09-18?19:32??AuthCode\out\artifacts\AuthCode_war_exploded\img\
?????文件????????2123??2016-09-18?19:32??AuthCode\out\artifacts\AuthCode_war_exploded\img\g.png
?????文件????????1566??2016-09-18?19:32??AuthCode\out\artifacts\AuthCode_war_exploded\img\h.png
?????文件?????????551??2016-09-18?20:02??AuthCode\out\artifacts\AuthCode_war_exploded\index.jsp
?????目錄???????????0??2016-09-18?19:34??AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\
?????目錄???????????0??2016-09-18?20:09??AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\
?????文件????????3181??2016-09-18?20:09??AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\AuthCode.class
?????文件?????????812??2016-09-18?19:34??AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\classes\Servlet.class
?????文件?????????559??2016-09-18?19:34??AuthCode\out\artifacts\AuthCode_war_exploded\WEB-INF\web.xm
?????目錄???????????0??2016-09-18?19:23??AuthCode\out\production\
?????目錄???????????0??2016-09-18?20:09??AuthCode\out\production\AuthCode\
?????文件????????3181??2016-09-18?20:09??AuthCode\out\production\AuthCode\AuthCode.class
............此處省略11個文件信息
- 上一篇:余弦相似性獲取文章相似度的java實現
- 下一篇:java編寫的音像店管理系統
評論
共有 條評論