婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > jsp網頁登陸驗證

jsp網頁登陸驗證

熱門標簽:南京新思維電話機器人 好操作的電話機器人廠家 地圖標注市場怎么樣 泰州泰興400電話 怎么申請 南昌市地圖標注app 百度地圖添加標注圖標樣式 如何用中國地圖標注數字點 聊城智能電銷機器人外呼 企業怎么在聯通申請400電話

jsp登陸驗證,網頁登陸驗證帶驗證碼校驗,登錄功能之添加驗證碼

part_1:專門用于生成一個驗證碼圖片的類:VerificationCode.java

package cn.mike.javase.test; 
 
import java.awt.Color; 
import java.awt.Font; 
import java.awt.Graphics2D; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.util.Random; 
 
import javax.imageio.ImageIO; 
 
import org.junit.Test; 
 
/** 
 * @author : Administrator 
 * @function : 這是用來測試隨機生成驗證碼圖片的類; 
 */ 
public class VerificationCode { 
 
  /** 
   * 單元測試,試一下能不能自動生成驗證碼圖片 
   */ 
  // 這個函數是單元測試時使用的,這里private一下外面就調用不到了; 
  /* @Test */ 
  /* public */private void test_fun() { 
    VerificationCode vc = new VerificationCode(); 
    BufferedImage image = vc.getImage(); 
    try { 
      // 生成驗證碼圖片,并保存到指定的路徑 
      VerificationCode.output(image, new FileOutputStream(new File( 
          ".\\image\\vcode_2.jpg"))); 
    } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
    } 
 
    // 將隨機生成的文本內容輸出到控制臺,用于校驗 
    System.out.println(vc.getText()); 
  } 
 
  private int w = 70;// 寬 
  private int h = 35;// 高 
  private String text;// 文本內容(驗證碼字符串) 
  private Random r = new Random(); 
  private String[] fontNames = { "宋體", "華文楷體", "黑體", "微軟雅黑", "楷體_GB2312" }; 
  // 隨機字符集合中不包括0和o,O,1和l,因為這些不易區分 
  private String codes = "23456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYXZ"; 
  // 驗證碼圖片的背景色:白色 
  private Color bgColor = new Color(255, 255, 255); 
 
  /** 
   * 返回一個驗證碼圖片buffer對象:BufferedImage 
   */ 
  public BufferedImage getImage() { 
    BufferedImage image = createImage(); 
    // 獲取繪圖環境(畫筆工具) 
    Graphics2D g2 = (Graphics2D) image.getGraphics(); 
    // sb : 用來保存驗證碼字符串文本內容 
    StringBuilder sb = new StringBuilder(); 
 
    for (int i = 0; i  4; ++i) {// 隨機生成4個字符 
      String s = randomChar() + ""; 
      sb.append(s); 
      float x = i * 1.0F * w / 4; 
      g2.setFont(randomFont()); 
      g2.setColor(randomColor()); 
      g2.drawString(s, x, h - 5); 
    } 
 
    this.text = sb.toString();// 記錄驗證碼文本內容 
    drawLine(image);// 畫干擾線 
    return image; 
 
  } 
 
  /** 
   * @return 獲取驗證碼文本內容 
   */ 
  public String getText() { 
    return text; 
  } 
 
  /** 
   * @param image 
   * @param out 
   *      將文本寫到指定的輸出流。比如本測試中FileOutputStream指定的保存路徑 
   */ 
  public static void output(BufferedImage image, OutputStream out) { 
    try { 
      ImageIO.write(image, "jpeg", out); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    } 
  } 
 
  private void drawLine(BufferedImage image) { 
    Graphics2D g2 = (Graphics2D) image.getGraphics(); 
    for (int i = 0; i  3; ++i) {// 畫3條干擾線 
      int x1 = r.nextInt(w); 
      int y1 = r.nextInt(h); 
      int x2 = r.nextInt(w); 
      int y2 = r.nextInt(h); 
      g2.setColor(Color.BLUE); 
      g2.drawLine(x1, y1, x2, y2); 
    } 
  } 
 
  private Color randomColor() { 
    int red = r.nextInt(150); 
    int green = r.nextInt(150); 
    int blue = r.nextInt(150); 
    return new Color(red, green, blue); 
  } 
 
  private Font randomFont() { 
    int index = r.nextInt(fontNames.length); 
    String fontName = fontNames[index]; 
    int style = r.nextInt(4); 
    int size = r.nextInt(5) + 24; 
    return new Font(fontName, style, size); 
  } 
 
  private char randomChar() { 
    int index = r.nextInt(codes.length()); 
    return codes.charAt(index); 
  } 
 
  private BufferedImage createImage() { 
    BufferedImage image = new BufferedImage(w, h, 
        BufferedImage.TYPE_INT_RGB); 
    Graphics2D g2 = (Graphics2D) image.getGraphics(); 
    g2.setColor(this.bgColor); 
    g2.fillRect(0, 0, w, h); 
 
    return image; 
  } 
 
} 

part_2:登錄界面:Login.jsp

%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
% 
  String path = request.getContextPath(); 
  String basePath = request.getScheme() + "://" 
      + request.getServerName() + ":" + request.getServerPort() 
      + path + "/"; 
%> 
 
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
html> 
  head> 
    base href="%=basePath%>"> 
 
    title>My JSP 'Login.jsp' starting page/title> 
 
    meta http-equiv="pragma" content="no-cache"> 
    meta http-equiv="cache-control" content="no-cache"> 
    meta http-equiv="expires" content="0"> 
    meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    meta http-equiv="description" content="This is my page"> 
    !-- 
  link rel="stylesheet" type="text/css" href="styles.css"> 
  --> 
 
    script type="text/javascript"> 
  function _change_verity_code() { 
    var imgElem = document.getElementById("img_src"); 
 
    //添加一個請求參數a是因為,通常瀏覽器都有緩存,點擊換一張的時候沒反應,所以加一個請求參數,獲取當前請求時間,可以精確到毫秒,所以每次請求的參數都不同,所以瀏覽器有緩存也不妨礙; 
    imgElem.src = "/ServletDemoProject/servlet/GetVerificationCodeServlet?a=" 
        + new Date().getTime(); 
  } 
/script> 
 
  /head> 
 
  % 
    String fdbkMsg = (String) request.getAttribute("fdbkMsg"); 
    if (null == fdbkMsg) { 
      fdbkMsg = ""; 
    } 
  %> 
 
  % 
    Boolean logedIn = (Boolean) session.getAttribute("logedIn"); 
    if (null == logedIn) { 
      logedIn = false; 
    } else if (logedIn) { 
      //如果在本次會話已經登陸,直接重定向到success-page-1 
      response 
          .sendRedirect("/ServletDemoProject/LOGIN-DEMO/success-page-1.jsp"); 
    } 
  %> 
 
  % 
    String username = ""; 
    Cookie[] cookies = request.getCookies(); 
    if ((null != cookies)  (cookies.length > 0)) { 
      for (Cookie c : cookies) { 
        if ("admin".equals(c.getValue())) { 
          username = "admin"; 
          break; 
        } 
      } 
    }//end if-condition 
  %> 
 
  body> 
    br> 
    div align="center"> 
      請登錄: 
      br> 
      form action="/ServletDemoProject/servlet/LoginVerificationServlet" 
        method="post"> 
        div> 
          用戶名: 
          input type="text" name="username" value="%=username%>" /> 
          br> 
        /div> 
 
        div> 
          密  碼: 
          input type="password" name="password" /> 
          br> 
        /div> 
        div> 
          驗證碼: 
          input type="text" name="code_text" size="3" /> 
          img src="/ServletDemoProject/servlet/GetVerificationCodeServlet" 
            id="img_src" /> 
          a href="javascript:_change_verity_code()">換一張/a> 
          br> 
        /div> 
 
        div> 
          font color='red'>%=fdbkMsg%>/font> 
          br> 
        /div> 
 
        div> 
          input type="submit" value="提交" /> 
          br> 
        /div> 
      /form> 
    /div> 
  /body> 
/html> 

part_3:處理登錄校驗的servlet :LoginVerificationServlet.java

package cn.mike.servlet.test_1212; 
 
import java.awt.image.BufferedImage; 
import java.io.IOException; 
 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
 
import cn.mike.javase.test.VerificationCode; 
 
public class GetVerificationCodeServlet extends HttpServlet { 
 
  private static final long serialVersionUID = -3520994675366100452L; 
 
  public void doGet(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
 
    // 1.新建一個VerificationCode類; 
    VerificationCode vc = new VerificationCode(); 
 
    // 2.從VerificationCode類中獲取BufferedImage對象; 
    BufferedImage bufImage = vc.getImage(); 
 
    // 3.同時獲取驗證碼中的文本內容,并放到session域中, 用于校驗; 
    String code_text = vc.getText(); 
    request.getSession().setAttribute("code_text", code_text); 
 
    // 4.將生成的圖片輸出到客戶端瀏覽器 
    VerificationCode.output(bufImage, response.getOutputStream()); 
 
  }// end method-doGet 
 
  public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 
 
    // do same as GET-method : 
    doGet(request, response); 
 
  }// end method-doPost 
 
} 

part_4:成功登陸后的提示界面1:success-page-1.jsp

%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
% 
  String path = request.getContextPath(); 
  String basePath = request.getScheme() + "://" 
      + request.getServerName() + ":" + request.getServerPort() 
      + path + "/"; 
%> 
 
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
html> 
  head> 
    base href="%=basePath%>"> 
 
    title>My JSP 'success-page-1.jsp' starting page/title> 
 
    meta http-equiv="pragma" content="no-cache"> 
    meta http-equiv="cache-control" content="no-cache"> 
    meta http-equiv="expires" content="0"> 
    meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    meta http-equiv="description" content="This is my page"> 
    !-- 
  link rel="stylesheet" type="text/css" href="styles.css"> 
  --> 
 
  /head> 
 
  % 
    String username = (String) session.getAttribute("username"); 
    if (null == username) { 
      //如果username為空值,說明不是通過正常渠道來的,轉發到Login頁面; 
      request.setAttribute("fdbkMsg", "別想走后門進來,趕緊登錄!"); 
      request.getRequestDispatcher("/LOGIN-DEMO/Login.jsp").forward( 
          request, response); 
    } 
  %> 
 
  body> 
    br> 
    %=username%>已經成功登陸。 
    br> 
    font>您可以選擇瀏覽:/font> 
    br> 
    a href="/ServletDemoProject/LOGIN-DEMO/success-page-2.jsp">點這兒有精彩./a> 
    br> 
    a href="/ServletDemoProject/LOGIN-DEMO/success-page-2.jsp">點這兒更精彩./a> 
    br /> 
    a href="/ServletDemoProject/LOGIN-DEMO/success-page-2.jsp">你敢點這兒嗎./a> 
    br /> 
  /body> 
/html> 

part_5:成功登陸后的提示界面1:success-page-2.jsp

%@ page language="java" import="java.util.Date" pageEncoding="UTF-8"%> 
%@ page language="java" import="java.text.SimpleDateFormat"%> 
% 
  String path = request.getContextPath(); 
  String basePath = request.getScheme() + "://" 
      + request.getServerName() + ":" + request.getServerPort() 
      + path + "/"; 
%> 
 
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
html> 
  head> 
    base href="%=basePath%>"> 
 
    title>My JSP 'success-page-2.jsp' starting page/title> 
 
    meta http-equiv="pragma" content="no-cache"> 
    meta http-equiv="cache-control" content="no-cache"> 
    meta http-equiv="expires" content="0"> 
    meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    meta http-equiv="description" content="This is my page"> 
    !-- 
  link rel="stylesheet" type="text/css" href="styles.css"> 
  --> 
 
  /head> 
 
  % 
    String username = (String) session.getAttribute("username"); 
    if (null == username) { 
      request.setAttribute("fdbkMsg", "呵呵嗒,這里是你來的地方嗎?快登陸!"); 
      //轉發到登錄界面: 
      request.getRequestDispatcher("/LOGIN-DEMO/Login.jsp").forward( 
          request, response); 
    } 
 
    SimpleDateFormat sDateFormat = new SimpleDateFormat("a"); 
    Date today = new Date(); 
    String am_pm_str = sDateFormat.format(today); 
    String am_pm_str_in_chinese = ""; 
    if ("am".equalsIgnoreCase(am_pm_str)) { 
      am_pm_str_in_chinese = "上午"; 
    } else 
      am_pm_str_in_chinese = "下午"; 
 
    // set null; 
    sDateFormat = null; 
    today = null; 
    am_pm_str = null; 
  %> 
 
  body> 
    br /> 
    font>b>%=username%>%=am_pm_str_in_chinese%>好,能來到頁面2真不簡單./b> 
    /font> 
  /body> 
/html> 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • asp+Ajax簡單客戶登陸驗證
  • JS簡單實現登陸驗證附效果圖
  • 詳解Angular開發中的登陸與身份驗證
  • python實現帶驗證碼網站的自動登陸實現代碼
  • 用PHP實現登陸驗證碼(類似條行碼狀)
  • App登陸java后臺處理和用戶權限驗證
  • PHP 驗證登陸類分享
  • java客戶端登陸服務器用戶名驗證
  • Java Web開發過程中登陸模塊的驗證碼的實現方式總結
  • php通過smtp郵件驗證登陸的方法

標簽:臨汾 吉林 烏蘭察布 開封 山南 自貢 銅川 白銀

巨人網絡通訊聲明:本文標題《jsp網頁登陸驗證》,本文關鍵詞  jsp,網頁,登陸,驗證,jsp,網頁,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《jsp網頁登陸驗證》相關的同類信息!
  • 本頁收集關于jsp網頁登陸驗證的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日本成人在线电影网| 欧美一二三在线| 国产精品国产a级| 日韩一级免费一区| 91免费视频大全| 国产精品一区二区视频| 免费观看日韩av| 午夜精品久久久| 亚洲黄色在线视频| 中文字幕制服丝袜一区二区三区 | 亚洲日本在线视频观看| 国产免费观看久久| 久久久久国产成人精品亚洲午夜| 欧美日韩国产不卡| 欧美日韩久久不卡| 欧美日韩亚州综合| 欧美日韩在线观看一区二区| 在线这里只有精品| 欧美日韩电影一区| 91精品国产乱码| 精品福利在线导航| 久久久影视传媒| 国产欧美一区二区精品仙草咪| 久久只精品国产| 国产女主播在线一区二区| 久久美女艺术照精彩视频福利播放| 精品国产露脸精彩对白| 日韩精品中文字幕在线一区| 欧美精品一区二区三区蜜臀| 久久久久久久综合色一本| 国产日韩欧美一区二区三区乱码| 国产免费成人在线视频| 亚洲女厕所小便bbb| 亚洲一区二区三区三| 亚洲成av人片www| 极品少妇一区二区三区精品视频 | 精品国产第一区二区三区观看体验| 337p粉嫩大胆噜噜噜噜噜91av| 国产亚洲va综合人人澡精品| 国产精品丝袜在线| 亚洲一级在线观看| 久久www免费人成看片高清| 国产最新精品精品你懂的| 国产盗摄视频一区二区三区| 一本一本大道香蕉久在线精品| 91精品久久久久久蜜臀| 国产日韩欧美激情| 亚洲v日本v欧美v久久精品| 九色porny丨国产精品| 91视频在线观看| 日韩精品专区在线影院观看| 国产精品美女久久久久久久| 亚洲一区二区精品久久av| 韩日精品视频一区| 在线观看成人免费视频| 欧美变态tickle挠乳网站| 国产精品久久久久影视| 午夜精品一区二区三区电影天堂| 国产真实乱子伦精品视频| 欧美在线短视频| 国产亲近乱来精品视频| 五月天一区二区三区| 成人av免费在线| 亚洲精品一区二区三区四区高清| 一个色综合网站| 成人夜色视频网站在线观看| 日韩写真欧美这视频| 亚洲欧美日韩电影| 岛国精品在线观看| 精品久久久久久久人人人人传媒| 亚洲精品成人少妇| 国产精品18久久久久久久网站| 精品污污网站免费看| 综合欧美一区二区三区| 国产一区美女在线| 日韩女优制服丝袜电影| 亚洲v精品v日韩v欧美v专区| eeuss鲁一区二区三区| 久久九九99视频| 精久久久久久久久久久| 日韩精品在线一区| 老司机免费视频一区二区 | 美腿丝袜亚洲三区| 欧美日韩在线电影| 一区二区免费在线播放| 色综合天天性综合| 椎名由奈av一区二区三区| 丰满放荡岳乱妇91ww| 亚洲精品一区二区三区香蕉| 免播放器亚洲一区| 日韩欧美另类在线| 麻豆精品久久精品色综合| 日韩欧美激情四射| 激情伊人五月天久久综合| 日韩你懂的电影在线观看| 日韩精品亚洲专区| 欧美美女直播网站| 日韩高清不卡一区二区三区| 欧美精品在线观看播放| 午夜精品久久久久久久久久久 | 91精品国产综合久久精品| 日本人妖一区二区| 91精品午夜视频| 蜜桃在线一区二区三区| 欧美mv日韩mv国产网站| 国模少妇一区二区三区| 中文字幕精品—区二区四季| 成人精品亚洲人成在线| 日韩毛片在线免费观看| 日本伦理一区二区| 日本中文在线一区| 久久久久久日产精品| 91丨九色丨黑人外教| 午夜不卡在线视频| 精品国产123| 色一区在线观看| 午夜婷婷国产麻豆精品| 精品国产乱码久久久久久1区2区| 国产成人日日夜夜| 亚洲男人的天堂在线观看| 欧美日韩一区中文字幕| 极品少妇xxxx偷拍精品少妇| 国产精品久久久久久妇女6080| 在线观看亚洲精品| 韩国三级电影一区二区| 亚洲视频香蕉人妖| 91麻豆精品国产自产在线 | 中文文精品字幕一区二区| 91蜜桃在线观看| 美女一区二区三区| 国产精品欧美久久久久无广告| 色av综合在线| 国产精品综合视频| 玉米视频成人免费看| 精品国产伦一区二区三区免费| 国产91丝袜在线观看| 午夜激情一区二区三区| 国产精品午夜春色av| 欧美日韩国产在线观看| 国产91丝袜在线观看| 日日摸夜夜添夜夜添国产精品| 国产亚洲成av人在线观看导航| 91精品91久久久中77777| 国产乱码精品一区二区三区av| 洋洋av久久久久久久一区| 国产日韩精品视频一区| 欧美精品高清视频| 色婷婷久久久综合中文字幕 | 午夜精品影院在线观看| 中文字幕在线观看一区二区| 日韩欧美自拍偷拍| 欧美日韩高清影院| 成人高清伦理免费影院在线观看| 蜜乳av一区二区| 午夜精品在线视频一区| 亚洲尤物在线视频观看| 综合中文字幕亚洲| 国产精品久久午夜夜伦鲁鲁| 26uuu亚洲| 欧美精品一区二区三区蜜臀| 91精品久久久久久久久99蜜臂| 一本到不卡免费一区二区| 风流少妇一区二区| 国产99久久久国产精品免费看| 韩国一区二区三区| 九色|91porny| 美国欧美日韩国产在线播放| 天天操天天综合网| 五月天中文字幕一区二区| 亚洲成人动漫一区| 亚洲成在线观看| 视频精品一区二区| 日韩综合在线视频| 免费观看成人av| 久99久精品视频免费观看| 激情小说欧美图片| 国产精品18久久久久| 国产成人av自拍| 国产成人午夜视频| 成人激情免费网站| 色哟哟一区二区| 欧美丰满美乳xxx高潮www| 91麻豆精品国产91久久久资源速度| 3d成人动漫网站| 精品欧美一区二区三区精品久久| 精品国产网站在线观看| 精品少妇一区二区三区在线播放 | 日韩在线卡一卡二| 免播放器亚洲一区| 国产乱淫av一区二区三区| 成人精品视频一区二区三区| 99视频一区二区| 欧美中文字幕不卡| 91精品国产综合久久福利| www亚洲一区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲人成7777| 夜夜嗨av一区二区三区网页| 天天色图综合网| 国产一区 二区|