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 溫柔一刀
          主站蜘蛛池模板: 乐陵市| 武夷山市| 万盛区| 阜康市| 嘉鱼县| 博湖县| 巢湖市| 泾源县| 兴隆县| 祁门县| 焦作市| 大邑县| 鹤庆县| 乌拉特前旗| 卫辉市| 东兰县| 东莞市| 孝昌县| 高密市| 南皮县| 浦县| 辉南县| 比如县| 扬州市| 时尚| 南丰县| 海南省| 通州区| 舟山市| 海晏县| 南通市| 双流县| 区。| 井陉县| 苏尼特左旗| 靖安县| 当涂县| 九江市| 凌海市| 临江市| 北票市|