多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > web前端 > htmlcss > jsp實現(xiàn)登陸驗證碼

jsp實現(xiàn)登陸驗證碼

來源:程序員人生   發(fā)布時間:2015-02-28 08:28:22 閱讀次數(shù):4477次

填寫輸入信息index.jsp

<html><body>     

<form method=post action="result.jsp">     

<input type=text name=input maxlength=4>     

<img border=0 src="image.jsp">     

<input type="submit"value="submit">     

</form></body></html

生成圖片image.jsp

<%@ page contentType="image/JPEG" 

    import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" 

    pageEncoding="GBK"%> 

<%!Color getRandColor(int fc, int bc) {//給定范圍取得隨機色彩  

        Random random = new Random();  

        if (fc > 255)  

            fc = 255;  

        if (bc > 255)  

            bc = 255;  

        int r = fc + random.nextInt(bc - fc);  

        int g = fc + random.nextInt(bc - fc);  

        int b = fc + random.nextInt(bc - fc);  

        return new Color(r, g, b);  

    }%> 

<%  

    //設(shè)置頁面不緩存  

    response.setHeader("Pragma", "No-cache");  

    response.setHeader("Cache-Control", "no-cache");  

    response.setDateHeader("Expires", 0);  

 

    // 在內(nèi)存中創(chuàng)建圖像  

    int width = 60, height = 20;  

    BufferedImage image = new BufferedImage(width,height,  

            BufferedImage.TYPE_INT_RGB);  

 

    // 獲得圖形上下文  

    Graphics g = image.getGraphics();  

 

    //生成隨機類  

    Random random = new Random();  

 

    // 設(shè)定背風(fēng)景  

    g.setColor(getRandColor(200, 250));  

    g.fillRect(0, 0, width, height);  

 

    //設(shè)定字體  

    g.setFont(new Font("Times New Roman", Font.PLAIN,18));  

 

    //畫邊框  

    //g.setColor(newColor());  

    //g.drawRect(0,0,width⑴,height⑴);  

 

    // 隨機產(chǎn)生155條干擾線,使圖像中的認證碼不容易被其它程序探測到  

    g.setColor(getRandColor(160, 200));  

    for (int i = 0; i < 100; 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);  

    }  

 

    // 取隨機產(chǎn)生的認證碼(4位數(shù)字)  

    String sRand = "";  

    for (int i = 0; i < 4; i++) {  

        String rand =String.valueOf(random.nextInt(10));  

        sRand += rand;  

        // 將認證碼顯示到圖像中  

        g.setColor(new Color(20 + random.nextInt(110), 20 +random  

        .nextInt(110), 20 +random.nextInt(110)));//調(diào)用函數(shù)出來的色彩相同,多是由于種子太接近,所以只能直接生成  

        g.drawString(rand, 13 * i + 6,16);  

    }  

 

    // 將認證碼存入SESSION  

    session.setAttribute("code",sRand);  

 

    // 圖像生效  

    g.dispose();  

 

    // 輸出圖像到頁面  

    ImageIO.write(image, "JPEG",response.getOutputStream());  

%>

驗證是不是輸入正確result.jsp

<%@ page language="java"import="java.util.*" pageEncoding="GBK"%> 

<html><body> 

<%  

    String input=request.getParameter("input");  

    String code=(String)session.getAttribute("code");      

    if(input.equals(code)){  

        out.println("驗證成功!");  

    }else{  

        out.println("驗證失敗!");  

    }  

%> 

</body></html>

可能遇到的問題:

你的eclipse會提示你:graphic.drawString()方法毛病

是你的jdk版本太高了,但是不要緊。把這個項目的兼容版本放低就好了。

具體操作步驟:

右鍵進程,選中propriety,再選中“Java compiler”

把jdk的兼容版本下降到1.4便可

 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: www久久爱| 亚洲欧美自拍视频 | 免费永久国产在线视频 | 一区二区三区四区在线 | 免费黄色网址网站 | 噜噜噜噜噜视频在线观看 | 女人18毛片特级一级免费视频 | 国产精品久久久久乳精品爆 | 视频一区二区国产无限在线观看 | 欧美一区二区三区视视频 | jizz日本护士视频 | 好大好爽快点吃奶 | 中文字幕在线观看一区二区三区 | 婷婷夜夜躁天天躁人人躁 | 亚洲麻豆精品 | 免费日本网站 | 一区二区三区鲁丝不卡麻豆 | hd性欧美俱乐部中文 | 最近中文字幕国语完整在线5 | 欧美性受xxxx喷水性欧洲 | 国产男人女人做性全过程视频 | 亚州视频一区二区 | 最新亚洲国产有精品 | 久久亚洲精品中文字幕二区 | 久久亚洲成人 | 免费高清毛片在线播放视频 | 福利午夜影院 | 国产精品一国产精品 | 日本护士xxxxxx | 欧美一级毛片激情 | 亚洲精品国产综合久久一线 | 456亚洲人成在线播放网站 | 日本日韩欧美 | 大杳蕉伊人狼人久久一本线 | 亚洲欧美日韩图片 | 精品欧美一区二区三区在线 | 国产一区二区久久 | 伊人网视频在线 | 一区二区三区免费视频网站 | 亚洲视频免费在线播放 | 日本xxxxx久色视频在线观看 |