<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 0,  comments - 19,  trackbacks - 0
    生成驗證碼的jsp頁面createCode.jsp:


    <%@ page language="java" contentType="image/jpegRoomAction.javaRoomAction.javaRoomAction.java; charset=utf-8" pageEncoding="utf-8"%>
    <%@page import="java.io.*,java.util.*,com.sun.image.codec.jpeg.*,java.awt.*,java.awt.image.*"%>
    <%
        String s 
    = "";
        
    int intCount = 0;
        
    /**
         * 驗證碼寬度
         
    */
        
    int width = 100;
        
    /**
         * 驗證碼高度
         
    */
        
    int height = 25;
        
    /**
         * 驗證碼字符集
         
    */
        
    char[] code = new char[] { 'A''B''C''D''E''F''G''H',
                
    'I''J''K''L''M''N''P''Q''R''S''T''U',
                
    'V''W''X''Y''Z''a''b''c''d''e''f''g',
                
    'h''i''j''k''l''m''n''p''q''r''s''t',
                
    'u''v''w''x''y''z''2''3''4''5''6''7',
                
    '8''9' };

        
    /**
         *  創建一個隨機數生成器類
         
    */
        Random random 
    = new Random();

        
    // 隨機產生codeCount數字的驗證碼。   
        for (int i = 0; i < 4; i++) {
            
    // 得到隨機產生的驗證碼數字。   
            String strRand = String.valueOf(code[random
                    .nextInt(code.length)]);

            
    // 將產生的四個隨機數組合在一起。   
            s = s + strRand;
        }

        
    // 保存入session,用于與用戶的輸入進行比較.
        
    // 注意比較完之后清除session.

        session.setAttribute(
    "rand", s);

        response.setContentType(
    "image/gif");

        
    // 定義圖像buffer   
        BufferedImage image = new BufferedImage(width, height,
                BufferedImage.TYPE_INT_RGB);
        Graphics2D gra 
    = image.createGraphics();
        
    // 將圖像填充為白色   
        gra.setColor(Color.WHITE);
        gra.fillRect(
    00, width, height);

        
    // 創建字體,字體的大小應該根據圖片的高度來定。  

        
    //字體對象構造方法public Font(String familyName,int style,int size)
        
    // familyName字體名;字體名可以分成兩大類:中文字體:宋體、楷體、黑體等;英文字體:Arial、Times New Roman等等;
        
    // style風格。PLAIN普通字體,BOLD(加粗),ITALIC(斜體),Font.BOLD+ Font.ITALIC(粗斜體)
        
    //size 大小

        Font font 
    = new Font("宋體", Font.BOLD + Font.ITALIC, height - 1);//

        
    // 設置字體。   
        gra.setFont(font);

        
    // 畫邊框。   
        gra.setColor(getColor());
        gra.drawRect(
    00, width - 1, height - 1);

        
    // 隨機產生干擾線,使圖象中的認證碼不易被其它程序探測到。   
        gra.setColor(Color.BLACK);
        
    for (int i = 0; i < 50; i++) {
            
    int x = random.nextInt(width);
            
    int y = random.nextInt(height);
            
    int xl = random.nextInt(5);
            
    int yl = random.nextInt(5);
            gra.setColor(getColor());
            gra.drawLine(x, y, x 
    + xl, y + yl);
        }

        
    // 輸出數字
        char c;

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

            c 
    = s.charAt(i);

            gra.drawString(c 
    + "", i * 25 + 420); // 25為寬度,11為上下高度位置

        }

        OutputStream toClient 
    = response.getOutputStream();
        JPEGImageEncoder encoder 
    = JPEGCodec.createJPEGEncoder(toClient);
        encoder.encode(image);

        toClient.close();

        out.clear();
        out 
    = pageContext.pushBody();
    %>
    <%!private Color getColor() {
            Random random 
    = new Random();
            int red = 0, green = 0, blue = 0;
            
    // 產生隨機的顏色分量來構造顏色值,這樣輸出的每位數字的顏色值都將不同。   
            red = random.nextInt(255);
            green 
    = random.nextInt(255);
            blue 
    = random.nextInt(255);
            
    return new Color(red, green, blue);
        }
    %>



    引用驗證碼的的jsp頁面regist.jsp:

    <script type="text/javascript" >
    //<![CDATA[
    function idenfunc()
    {
        $(
    "#input06").val("");
        $(
    "#idenimage").attr("src","/html/member/createMa.jsp?temp="+new Date());
        
    }

    function toRegist(){
        $.get('/getyzqqLoginAction.do?id='+$('#input06').val(),function(data){
            if(data=='1'){
                alert('效驗碼不正確,請重新輸入.');
                $('#errorM').html('效驗碼不正確,請重新輸入.');
                return;
            }
        })
    }
    //]]>
    </script>

    <html>
    <head><title></title></head>
    <body>
    <div>
    <s:form>
    <table>
    <tr>
       
    <th><label for="input06">校驗碼:</label></th>
        
    <td><input type="text" class="input01" id="input06"  /></td>
        
    <td><img id="idenimage" src="/html/member/createMa.jsp" alt="" /> 
        
    <a href="#" onclick="idenfunc();" class="blue">看不清</a>
        
    </td>
    </tr>
    </table>
    </s:form>
    <div class="infobox_register">
                    <p>
                        <img onclick="toRegist();return false;" style="cursor:pointer" src="/images/button/btn01_regist_info.gif" alt="" />
                    </p>
    </div>
    </body>
    </html>

    java驗證代碼:

    public void getyz()throws Exception{
            HttpServletRequest request 
    = ServletActionContext.getRequest();
            String identity 
    = request.getParameter("id"!= null ? request.getParameter("id") : "" ;
            HttpSession session 
    = request.getSession();
            String realidentity
    =(String)session.getAttribute("rand");
            HttpServletResponse response 
    = ServletActionContext.getResponse();
            response.setCharacterEncoding(
    "utf-8");
            response.setContentType(
    "text/html");
            
    if(!identity.trim().equalsIgnoreCase(realidentity.trim())){
                response.getWriter().write(
    "1");
                response.getWriter().close();
            }
    else{
                session.removeAttribute(
    "rand");
                response.getWriter().write(
    "0");
                response.getWriter().close();
            }
        }
    posted on 2012-04-13 15:19 canry Tong 閱讀(752) 評論(3)  編輯  收藏 所屬分類: 驗證碼生成方式

    FeedBack:
    # re: 在jsp頁面中生成驗證碼
    2012-07-18 15:30 | rr
    rrrrr  回復  更多評論
      
    # re: 在jsp頁面中生成驗證碼
    2012-07-18 15:48 | rr
    你提交的時候怎么驗證驗證碼的?  回復  更多評論
      
    # re: 在jsp頁面中生成驗證碼
    2012-07-18 16:07 | canry Tong
    @rr
    我完善了一下  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    留言簿

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 亚洲国产精品嫩草影院| 亚洲日韩小电影在线观看| 国产网站免费观看| 99亚偷拍自图区亚洲| 日韩精品无码免费专区午夜不卡| 在线中文高清资源免费观看| 免费人妻无码不卡中文字幕系| 亚洲成av人在片观看| 看Aⅴ免费毛片手机播放| 国产在线98福利播放视频免费| 狠狠色伊人亚洲综合网站色| 日韩免费a级毛片无码a∨| 亚洲国产成a人v在线观看| 成人影片麻豆国产影片免费观看 | 又大又硬又粗又黄的视频免费看| 日本无吗免费一二区| 亚洲天天在线日亚洲洲精| 亚洲一本一道一区二区三区| 一区二区无码免费视频网站| 亚洲国产区男人本色在线观看| 日本高清免费aaaaa大片视频| 狠狠综合亚洲综合亚洲色| 亚洲人妻av伦理| 亚洲一卡2卡3卡4卡乱码 在线| 国外成人免费高清激情视频| 疯狂做受xxxx高潮视频免费| 国产亚洲人成无码网在线观看 | 性做久久久久久免费观看| 亚洲人成色4444在线观看| 免费夜色污私人影院在线观看| 99re8这里有精品热视频免费| 国产免费久久精品99re丫y| 亚洲精品色播一区二区| 亚洲精品国产高清不卡在线| 无码精品国产一区二区三区免费| 亚洲一本到无码av中文字幕| 国产成人精品曰本亚洲79ren| 99精品视频在线免费观看| 亚洲精华国产精华精华液好用| 久久久久国产成人精品亚洲午夜 | 亚洲国产成人无码av在线播放|