實現(xiàn)JAVA驗證碼_第1頁
實現(xiàn)JAVA驗證碼_第2頁
實現(xiàn)JAVA驗證碼_第3頁
實現(xiàn)JAVA驗證碼_第4頁
實現(xiàn)JAVA驗證碼_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、yanZm.jsp:<html><head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>ÑéÖ¤Âë</title> <script type="text/javascript" language="javascript"> function changeImg() var

2、 a=document.getElementById("mySpan"); a.innerHTML='<img align="middle" src="ImageServlet"/> <a href="#" onclick="changeImg();">¿´²»Çå</a>' /?mySpan?¦Ë? </script> </head> &l

3、t;% page language="java" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + ":/" + request.getServerName() + ":" + request.getServerPort() + path + "/" %> <body> <span id="

4、mySpan"><img align="middle" src="ImageServlet" /><a href="#" onclick="changeImg();">¿´²»Çå</a> </span> </body> </html> servlet:ImageServlet.javapackage com.servlet; public class ImageSer

5、vlet extends HttpServlet private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws Se

6、rvletException, IOException int width=150;/ÑéÖ¤ÂëͼƬ¿í¶È int height=60;/ÑéÖ¤ÂëͼƬ¸ß¶È BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_3B

7、YTE_BGR); Graphics g=image.getGraphics(); Random random=new Random();/´´½¨Ò»¸öËæ»úÀà g.setColor(getRandColor(200,250);/±³¾°ÑÕɫҪƫµ­ g.fillRect(0, 0, width, he

8、ight);/»­±³¾° g.setColor(getRandColor(0,255);/±ß¿òÑÕÉ« g.drawRect(0, 0, width-1, height-1);/»­±ß¿ò g.setColor(getRandColor(160,200);/ Ëæ»ú²úÉú5Ìõ¸

9、;ÉÈÅÏߣ¬Ê¹Í¼ÏóÖеÄÈÏÖ¤Âë²»Ò×±»ÆäËü³ÌÐò̽²âµ½ for(int i=0;i<8;i+) int x=random.next

10、Int(width); int y=random.nextInt(height); int x1=random.nextInt(width); int y1=random.nextInt(height); g.drawLine(x, y, x1, y1); g.setColor(getRandColor(160,200);/ Ëæ»ú²úÉú100µã£¬Ê¹Í¼ÏóÖеÄ&

11、#200;ÏÖ¤Âë²»Ò×±»ÆäËü³ÌÐò̽²âµ½ for(int i=0;i<100;i+) int x=random.nextInt(width); int y=random.nextInt(height); g.drawLine(x, y, x, y); Font font = new Font("Times New

12、 Roman", Font.ITALIC,38); / ´´½¨×ÖÌ壬×ÖÌåµÄ´óСӦ¸Ã¸ù¾ÝͼƬµÄ¸ß¶ÈÀ´¶¨¡£ g.

13、setFont(font);/ÉèÖÃ×ÖÌå int length = 6; / ÉèÖÃĬÈÏÉú³É4¸öÑéÖ¤Âë String s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" / É

14、2;Öñ¸Ñ¡ÑéÖ¤Âë:°üÀ¨"a-z"ºÍÊý×Ö"0-9" String sRand="" / ÓÃËæ»ú²úÉúµÄÑÕÉ«½

15、1;ÑéÖ¤Âë»æÖƵ½Í¼ÏñÖС£ / Éú³ÉËæ»úÑÕÉ«(ÒòΪÊÇ×öÇ°¾°£¬ËùÒ

16、ÔÆ«Éî) /µ÷Óú¯Êý³öÀ´µÄÑÕÉ«Ïàͬ£¬¿ÉÄÜÊÇÒòΪÖÖ×ÓÌ«½Ó½ü

17、63;¬ËùÒÔÖ»ÄÜÖ±½ÓÉú³É g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110); for(int i=0;i<length;i+) String ch=String .valueOf(s.charAt(random.nextInt(s.length(); sRand+=ch; g.

18、drawString(ch, 22*i+12, (random.nextInt(5)-2)*i+40); /½«Éú³ÉµÄ×Ö·û´®´æ´¢ÔÚsessionÖÐ HttpSession session=request.getSession(); session.setAttribute("checkCode", sRand); g.dispose();

19、/ͼÏñÉúЧ /½ûֹͼÏñ»º´æ response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0

20、); response.setContentType("image/jpeg"); /´´½¨¶þ½øÖƵÄÊä³öÁ÷ ServletOutputStream sos=response.getOutputStream(); / ½«Í¼ÏñÊä³öµ½ServletÊ

21、;ä³öÁ÷ÖС£ ImageIO.write(image, "jpeg", sos); sos.flush(); sos.close(); public Color getRandColor(int lower,int upper) Random random = new Random(); if(upper>255) upper=255; if(upper<1) upper=1; if(lower<1) lower=1; if(lower>255) low

22、er=255; int r=lower+random.nextInt(upper-lower); int g=lower+random.nextInt(upper-lower); int b=lower+random.nextInt(upper-lower); return new Color(r,g,b); resultServlet.javapackage com.servlet;public class resultServlet extends HttpServlet public void doGet(HttpServletRequest request, HttpServletRe

23、sponse response) throws ServletException, IOException doPost(request, response); public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=utf-8"); String validateC = (String)request.getSessi

24、on().getAttribute( "checkCode"); String veryCode = request.getParameter("txtyzm"); PrintWriter out = response.getWriter(); if (veryCode = null | "".equals(veryCode) out.print("<script language='javascript'>"); out.println("alert('Ñ&

25、#233;Ö¤ÂëΪ¿Õ')"); out.print("</script>"); else if (validateC.equals(veryCode) out.print("<script language='javascript'>"); out.println("alert('ÑéÖ¤ÂëÕýÈ·')"); out.print("</script>"); else out.print("<script language='javascript'>"); out.println("alert('Ñ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論