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

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

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

    posts - 37, comments - 8, trackbacks - 0, articles - 0

    response之圖形驗證碼

    Posted on 2008-10-19 21:27 夢與橋 閱讀(680) 評論(0)  編輯  收藏

    通過設置response對象的contentType屬性為image/jpeg,以圖片的形式顯示一個隨機驗證碼。包括login.jsp、verifycode.jsp、checklogin.jsp與error.jsp。login.jsp為提交信息頁面,verifycode.jsp生成驗證碼,checklogin.jsp檢驗驗證碼,error.jsp為登錄出錯轉向的頁面。

    §login.jsp的code如下:

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    用戶登錄頁面
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    請輸入用戶登錄信息
    </h1>
    <form name="userinfo" action="checklogin.jsp" method="POST" onsubmit="return(checkinfo())">
    <table border="1">
      
    <tr>
        
    <td>用戶名:</td>
        
    <td><input  type="text" name="username"/></td>
        
    <td><href="register.jsp">用戶注冊</a></td>
      
    </tr>
      
    <tr>
        
    <td>密碼:</td>
        
    <td><input  type="password" name="password"/></td>
        
    <td><href="forgetpassword.jsp">忘記密碼了</a></td>
      
    </tr>
      
    <tr>
        
    <td>驗證碼:</td>
        
    <td><input  type="text" name="verifycode"/></td>
        
    <td><img alt="" src="verifycode.jsp" /></td>
      
    </tr>
      
    <tr>
        
    <td><input  type="submit" value="登錄"/></td>
        
    <td><input  type="reset" value="重置"/></td>
        
    <td></td>
       
    </tr>

    </table>
    </form>
    <script >
    function checkinfo(){
      
    var oObject = document.all.item("userinfo");
      
    for (i = 0; i < oObject.length; i++){
        
    if (oObject(i).value.length==0{
          alert(
    "必填項的值不能為空");
          oObject(i).focus();
          
    return false;
        }

      }


     
    return true;

    }

    </script>
    </body>
    </html>

    verifycode.jsp的code如下:

    <%@ page pageEncoding="gb2312" %>
    <%@ page import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
    <%@ page  import="java.io.OutputStream" %>
    <%
    response.setContentType(
    "image/jpeg");
    response.addHeader(
    "Content-Disposition","attachment;filename=verifycode.jpg" );
    //定義一個整型變量用于存放生成的隨機數
    int icode=0;
    //在內存中生成一個圖片以及寬、高、類型
    BufferedImage image
    =new BufferedImage(50,16,BufferedImage.TYPE_INT_RGB);
    //生成一個2D的圖形
    Graphics g 
    =image.getGraphics();
    //設置圖形為白色
    g.setColor(Color.white);
    //填充圖象
    g.fillRect(
    0,0,50,16);
    //新建一個隨機對象
    Random random
    =new Random();
    //取出4位整數
    while(icode<=1000)
    {
      icode
    =random.nextInt(10000);
    };
    //把隨機整數轉換成字符串
    String scode=icode+"";
    //將生成隨機校驗碼存入session中
    session.setAttribute(
    "verifycode",scode);
    //設置圖形的顏色為黑色
    g.setColor(Color.BLACK);
    //把生成的隨機數做為字符串寫到圖形中
    g.drawString(scode,
    12,12);
    //從response.getOutputStream()得到一個輸出流對象
    ServletOutputStream os
    =response.getOutputStream();
    //輸出到頁面(不知道我的理解是否正確)
    ImageIO.write(image,
    "JPEG",os);
    //關閉輸出流對象
    os.flush();
    os.close();
    %>

    checklogin.jsp的code如下:

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    responseDemo
    </title>
    </head>
    <body bgcolor="#ffffff">
    <h1>
    用戶登錄信息
    </h1>
    <%
    String name=request.getParameter("name");
    String password=request.getParameter("password");
    if (password.equalsIgnoreCase("000000")){
        
    //從Session中取得驗證碼的值
        
    String verifycode=(String)session.getAttribute("verifycode");
        
    //從客戶端取用戶提交過來驗證碼
        
    String verifycode1=request.getParameter("verifycode");
        
    if (verifycode.equalsIgnoreCase(verifycode1)){
    %>
    用戶登錄成功,客戶端輸入驗證碼為:
    <%= verifycode1%>
    <%    }
    }
    else{
      response.sendRedirect(
    "dispatcherDemo.jsp");
    }   
    %>
    </body>
    </html>

    error.jsp的code如下:

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <body bgcolor="#ffffff">
    <h1>
    登錄出錯
    </h1>
    </body>
    </html>


     


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲欧洲日产国码www| a级亚洲片精品久久久久久久 | 一级毛片大全免费播放| 在线免费观看一级毛片| 亚洲粉嫩美白在线| 日韩成人免费aa在线看| 亚洲精华国产精华精华液好用| 好吊妞视频免费视频| 亚洲国产日韩a在线播放| 国产午夜免费福利红片| 免费无码一区二区| 亚洲精品国精品久久99热一| 免费无码又爽又刺激网站直播| 亚洲AV永久无码区成人网站| 99精品视频免费在线观看| 亚洲欧洲中文日产| 免费看片A级毛片免费看| 深夜a级毛片免费无码| 亚洲线精品一区二区三区影音先锋| 青柠影视在线观看免费高清 | 中文字幕亚洲乱码熟女一区二区| 美女无遮挡拍拍拍免费视频| 亚洲AV无码专区亚洲AV伊甸园 | 四虎国产精品成人免费久久 | 在线观看免费高清视频| 亚洲国产aⅴ成人精品无吗| 免费**毛片在线播放直播 | 在线综合亚洲中文精品| 免费h成人黄漫画嘿咻破解版| 精品国产污污免费网站入口在线| 亚洲日本中文字幕区| 国产精品久久久久免费a∨| 国产午夜亚洲精品不卡免下载| 亚洲精品国产精品乱码不99| 在线观看H网址免费入口| 羞羞漫画登录页面免费| 亚洲人成电影亚洲人成9999网| 在线免费观看视频你懂的| 国偷自产一区二区免费视频| 国产AV旡码专区亚洲AV苍井空 | 亚洲综合一区二区精品久久|