


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java生成數字_字母_中文混合驗證碼源碼 此實例只對驗證碼的生成做專門的詳述。 首先,創(chuàng)建一個jsp頁面 我命名為:valicodejt.jsp 代碼如下: 英文、數字和中文混合的彩色驗證碼 function checkform(myform) for(i=0;imyform.length;i+) if(myform.elementsi.value=) alert(myform.elementsi.title+不能為空!); myform.elementsi.focus(); return false; function myReload() /document.getElementById
2、x_x(createCheckCode).src=PictureCheckCode; document.getElementByIdx_x(createCheckCode).src=document.getElementByIdx_x(createCheckCode).src+?nocache=+new Date().getTime(); 用戶名: 密 碼: 驗證碼: 看不清?換一個 前臺的技術暫且不做過深討論,我們主要講
3、一下后臺的驗證碼是怎么生成的, 每步功能請看注釋: import java.awt.*; import java.awt.geom.*; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; impo rt javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSe
4、rvletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class PictureCheckCode extends HttpServlet / 獲取隨機顏色 public Color getRandColor(int s, int e) Random random = new Random(); if (s 255) s = 255; if (e 255) e = 255; int r = s + random.nextInt(e -
5、s); /隨機生成RGB顏色中的r值 int g = s + random.nextInt(e - s); /隨機生成RGB顏色中的g值 int b = s + random.nextInt(e - s); /隨機生成RGB顏色中的b值 return new Color(r, g, b); public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setHeader(Pragma, No-cache); r
6、esponse.setHeader(Cache-Control, No-cache); response.setDateHeader(Expires, 0); / 指定生成的響應是圖片 response.setContentType(image/jpeg); int width = 86; int height = 22; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); Graphics2D g2d = (G
7、raphics2D) g; Random random = new Random(); Font mFont = new Font(黑體, Font.BOLD, 17); g.setColor(getRandColor(200, 250); g.fillRect(0, 0, width, height); g.setFont(mFont); g.setColor(getRandColor(180, 200); / 畫隨機的線條 for (int i = 0; i 100; i+) int x = random.nextInt(width - 1); int y = random.nextInt
8、(height - 1); int x1 = random.nextInt(6) + 1; int y1 = random.nextInt(12) + 1; BasicStroke bs = new BasicStroke(2f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL); Line2D line = new Line2D.Double(x, y, x + x1, y + y1); g2d.setStroke(bs); g2d.draw(line); String sRand = ; / 輸出隨機的驗證文字 String ctmp = ; int itmp = 0; for (int i = 0; i 1f) scaleSize = 1f; trans.scale(scaleSize, scaleSize); g2d_word.setTransform(trans); g.drawString(ctmp, 15 * i + 18, 14); / 將生成的驗證碼保存到Session中 HttpSession session = re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 產品評價表格-產品數據
- 農產品產地直銷物流配送協(xié)議
- 工作進度跟蹤表格:工作進度管理表
- 水處理技術服務合同
- 車輛租賃及交通服務協(xié)議條款說明
- 健康醫(yī)療信息系統(tǒng)運維服務合同
- 企業(yè)經營指標統(tǒng)計表-收入、利潤3個關鍵指標
- 被動語態(tài)在中考英語中的考查點教案
- 經典童話故事對幼兒的成長影響
- 新時代綠色農業(yè)標準化生產推廣方案
- GA/T 992-2012停車庫(場)出入口控制設備技術要求
- 2、組織供應、運輸、售后服務方案
- 體育測量與評價-第一章緒論課件
- 航空機載設備履歷本
- 企業(yè)風險管理-戰(zhàn)略與績效整合(中文版)
- 高效能人士的七個習慣The7HabitsofHighlyEffectivePeople課件
- 小學體育與健康教育科學二年級下冊第一章體育基本活動能力立定跳遠教案 省一等獎
- 工程分包管理計劃
- 民事訴訟法學整套ppt課件完整版教學教程最全電子講義(最新)
- 河北省自然科學基金資助項目申請書模板
- 四年級奧數-容斥問題
評論
0/150
提交評論