e代劍客——溫柔一刀

          生活就像海洋,只有意志堅強的人,才能到達彼岸

             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            76 隨筆 :: 7 文章 :: 215 評論 :: 0 Trackbacks

          login.jsp--------------------登錄頁面,在這里我是提供輸入驗證碼然后提交進行驗證
          代碼如下:

          <% ??@?page?contentType? = ? " ?text/html;?charset=gb2312? " ? %> ?
          ?
          < ?html? > ?
          ?
          < ?head? > ?
          ?
          < ?meta??http - equiv? = " Content-Type " ??content? = " text/html;?charset=gb2312 " ? > ?
          ?
          < ?title? > ?用戶登錄? </ ?title? > ?
          ??
          < ?script??language? = " javascript " ? > ??
          ????function??loadimage()??
          {
          ????document.getElementById(?
          " ?randImage? " ?).src?? = ??? " ?image.jsp?? " ? + ?Math.random();
          ??}
          ?
          ???
          </ ?script? > ?
          ?
          </ ?head? > ?
          ?
          ?
          < ?body? > ?
          ?
          ?
          < ?table??width? = " 256 " ??border? = " 0 " ??cellpadding? = " 0 " ??cellspacing? = " 0 " ? > ?
          ???
          <!-- ?DWLayoutTable? --> ?
          ???
          < ?form??action? = " validate.jsp " ??method? = " post " ??name? = " loginForm " ? > ?
          ???
          < ?tr? > ?
          ?????
          < ?td??width? = " 118 " ??height? = " 22 " ??valign? = " middle " ??align? = " center " ? >< ?input??type? = " text " ??name? = " rand " ??size? = " 15 " ? ></ ?td? > ?
          ?????
          < ?td??width? = " 138 " ??valign? = " middle " ??align? = " center " ? >< ?img??alt? = " code " ??name? = " randImage " ??id? = " randImage " ??src? = " image.jsp " ??width? = " 60 " ??height? = " 20 " ??border? = " 1 " ??align? = " absmiddle " ? ></ ?td? > ?
          ???
          </ ?tr? > ?
          ???
          < ?tr? > ?
          ?????
          < ?td??height? = " 36 " ??colspan? = " 2 " ??align? = " center " ??valign? = " middle " ? >< ?a??href? = " javascript:loadimage(); " ? >< ?font?? class ? = pt95? > ?刷新? </ ?font? ></ ?a? ></ ?td? > ?
          ???
          </ ?tr? > ?
          ???
          < ?tr? > ?
          ?????
          < ?td??height? = " 36 " ??colspan? = " 2 " ??align? = " center " ??valign? = " middle " ? >< ?input??type? = " submit " ??name? = " login " ??value? = " 提交 " ? ></ ?td? > ?
          ???
          </ ?tr? > ?
          ???
          </ ?form? > ?
          ?
          </ ?table? > ?
          ?
          </ ?body? > ?
          ?
          </ ?html? > ?
          ?


          image.jsp-------------------生成隨即驗證碼圖片的jsp頁面
          代碼如下:

          <% ??@?page?contentType? = ? " ?image/jpeg? " ?? import ? = ? " ?java.awt.*,?
          ?java.awt.image.? * ?,java.util.? * ?,javax.imageio.? * ? " ??%>?
          ? < ? %!
          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);
          }

          ?
          %> ?
          ??
          <% ??
          out.clear();?
          // ?這句針對resin服務器,如果是tomacat可以不要這句
          response.setHeader(? " ?Pragma? " ?,? " ?No-cache? " ?);
          response.setHeader(?
          " ?Cache-Control? " ?,? " ?no-cache? " ?);
          response.setDateHeader(?
          " ?Expires? " ?,?? 0 ?);

          ?
          int ??width? = ? 60 ?,?height? = ? 20 ?;
          BufferedImage?image??
          = ??? new ??BufferedImage(width,?height,?BufferedImage.TYPE_INT_RGB);


          Graphics?g??
          = ??image.getGraphics();
          Random?random??
          = ??? new ??Random();

          g.setColor(getRandColor(?
          200 ?,? 250 ?));
          g.fillRect(?
          0 ?,?? 0 ?,?width,?height);

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



          g.setColor(getRandColor(?
          160 ?,? 200 ?));
          ?
          for ??(? int ??i? = ? 0 ?;i? < ? 155 ?;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);
          }



          ?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 ?)));
          g.drawString(rand,?
          13 ? * ?i? + ? 6 ?,? 16 ?);
          }


          ?
          // ??將認證碼存入SESSION
          session.setAttribute(? " ?rand? " ?,sRand);

          g.dispose();

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


          validate.jsp-------------用來驗證輸入的驗證碼是否正確
          代碼如下:

          <% ??@?page?contentType? = ? " ?text/html;?charset=gb2312? " ? %> ?
          ??
          <% ??
          ?String??rand??
          = ??(?String?)session.getAttribute(? " ?rand? " ?);
          ?String??input??
          = ??request.getParameter(? " ?rand? " ?);
          ?
          if ?(rand.equals(input)) {
          out.print(?
          " ?<script>alert('驗證通過!');</script>? " ?);
          }
          ?? else ? {
          out.print(?
          " ?<script>alert('請輸入正確的驗證碼!');location.href='login.jsp';</script>? " ?);
          }

          ?
          %> ?
          posted on 2006-08-16 11:38 溫柔一刀 閱讀(534) 評論(0)  編輯  收藏 所屬分類: java相關
          聯系偶 zhupanjava@gmail.com 溫柔一刀
          主站蜘蛛池模板: 东方市| 兴城市| 蒙自县| 东阿县| 普兰店市| 凭祥市| 马鞍山市| 枣阳市| 攀枝花市| 黄龙县| 闻喜县| 呼伦贝尔市| 枣强县| 徐州市| 浦县| 沅江市| 泾川县| 策勒县| 横山县| 托克逊县| 乌恰县| 鹤峰县| 靖安县| 金平| 亚东县| 嘉祥县| 四平市| 新邵县| 山阳县| 辽宁省| 理塘县| 保定市| 平邑县| 北海市| 龙山县| 天峻县| 南木林县| 乌拉特后旗| 固镇县| 萍乡市| 汕尾市|