cookie實現登陸頁面保存用戶名


1.首先是用戶名,密碼的input 和保存狀態的checkbox

[html]  view plain  copy
 
  1. <input class="ipt" type="text" name='username' value='${name}'/>  
  2. <input class="ipt" type='password' name='password' id='password' />  
  3. <input style=" margin-left:60px; margin-right:10px; " type="checkbox" name="rememberMe" id="rememberMe" />  

 

沒找到怎么保存checkbox的狀態,我就自己寫了個

 

[html]  view plain  copy
 
  1. <script>  
  2.     window.onload = function() {  
  3.         if ('${name}' != '') {  
  4.             document.getElementById('rememberMe').checked = true;  
  5.         } else {  
  6.             document.getElementById('rememberMe').checked = false;  
  7.         }  
  8.     }  
  9. </script>  

 

2.然后在jsp頂部加入java代碼,用於讀取cookie

[html]  view plain  copy
 
  1. <%  
  2.     String name = "";  
  3.     String psw = "";  
  4.     String checked = "";  
  5.     Cookie[] cookies = request.getCookies();  
  6.     if(cookies != null && cookies.length>0){  
  7.         for(int i =0; i<cookies.length; i++){  
  8.             if(cookies[i].getName().equals("name")){  
  9.                 name=cookies[i].getValue();  
  10.                 request.setAttribute("name",name);  
  11.             }  
  12.                   
  13.             if(cookies[i].getName().equals("psw")){  
  14.                 psw=cookies[i].getValue();  
  15.                 request.setAttribute("psw",psw);  
  16.             }  
  17.         }  
  18.     }  
  19. %>  

 

3.其次,在登陸到后台驗證完畢密碼后面加入

[java]  view plain  copy
 
  1. //處理Cookie  
  2. addCookie(username , pwd ,response ,request);  

下面是addCookie這個方法

 

[java]  view plain  copy
 
  1. /**Cookie的實現     
  2.      * @throws UnsupportedEncodingException **/  
  3.     private void addCookie(String name, String password,HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException  {  
  4.         if(StringUtils.isNotBlank(name)&&StringUtils.isNotBlank(password)){  
  5.             //創建Cookie  
  6. //          Cookie nameCookie=new Cookie("name",URLEncoder.encode(name,"utf-8"));  
  7.             Cookie nameCookie=new Cookie("name",name);  
  8.             Cookie pswCookie=new Cookie("psw",password);  
  9.               
  10.             //設置Cookie的父路徑  
  11.             nameCookie.setPath(request.getContextPath()+"/");  
  12.             pswCookie.setPath(request.getContextPath()+"/");  
  13.               
  14.             //獲取是否保存Cookie  
  15.             String rememberMe=request.getParameter("rememberMe");  
  16.             if(rememberMe==null){//不保存Cookie  
  17.                 nameCookie.setMaxAge(0);  
  18.                 pswCookie.setMaxAge(0);  
  19.             }else{//保存Cookie的時間長度,單位為秒  
  20.                 nameCookie.setMaxAge(7*24*60*60);  
  21.                 pswCookie.setMaxAge(7*24*60*60);  
  22.             }  
  23.             //加入Cookie到響應頭  
  24.             response.addCookie(nameCookie);  
  25.             response.addCookie(pswCookie);  
  26.         }  
  27.     }  
  28. }  

    1.首先是用戶名,密碼的input 和保存狀態的checkbox

    [html]  view plain  copy
     
    1. <input class="ipt" type="text" name='username' value='${name}'/>  
    2. <input class="ipt" type='password' name='password' id='password' />  
    3. <input style=" margin-left:60px; margin-right:10px; " type="checkbox" name="rememberMe" id="rememberMe" />  

     

    沒找到怎么保存checkbox的狀態,我就自己寫了個

     

    [html]  view plain  copy
     
    1. <script>  
    2.     window.onload = function() {  
    3.         if ('${name}' != '') {  
    4.             document.getElementById('rememberMe').checked = true;  
    5.         } else {  
    6.             document.getElementById('rememberMe').checked = false;  
    7.         }  
    8.     }  
    9. </script>  

     

    2.然后在jsp頂部加入java代碼,用於讀取cookie

    [html]  view plain  copy
     
    1. <%  
    2.     String name = "";  
    3.     String psw = "";  
    4.     String checked = "";  
    5.     Cookie[] cookies = request.getCookies();  
    6.     if(cookies != null && cookies.length>0){  
    7.         for(int i =0; i<cookies.length; i++){  
    8.             if(cookies[i].getName().equals("name")){  
    9.                 name=cookies[i].getValue();  
    10.                 request.setAttribute("name",name);  
    11.             }  
    12.                   
    13.             if(cookies[i].getName().equals("psw")){  
    14.                 psw=cookies[i].getValue();  
    15.                 request.setAttribute("psw",psw);  
    16.             }  
    17.         }  
    18.     }  
    19. %>  

     

    3.其次,在登陸到后台驗證完畢密碼后面加入

    [java]  view plain  copy
     
    1. //處理Cookie  
    2. addCookie(username , pwd ,response ,request);  

    下面是addCookie這個方法

     

    [java]  view plain  copy
     
    1. /**Cookie的實現     
    2.      * @throws UnsupportedEncodingException **/  
    3.     private void addCookie(String name, String password,HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException  {  
    4.         if(StringUtils.isNotBlank(name)&&StringUtils.isNotBlank(password)){  
    5.             //創建Cookie  
    6. //          Cookie nameCookie=new Cookie("name",URLEncoder.encode(name,"utf-8"));  
    7.             Cookie nameCookie=new Cookie("name",name);  
    8.             Cookie pswCookie=new Cookie("psw",password);  
    9.               
    10.             //設置Cookie的父路徑  
    11.             nameCookie.setPath(request.getContextPath()+"/");  
    12.             pswCookie.setPath(request.getContextPath()+"/");  
    13.               
    14.             //獲取是否保存Cookie  
    15.             String rememberMe=request.getParameter("rememberMe");  
    16.             if(rememberMe==null){//不保存Cookie  
    17.                 nameCookie.setMaxAge(0);  
    18.                 pswCookie.setMaxAge(0);  
    19.             }else{//保存Cookie的時間長度,單位為秒  
    20.                 nameCookie.setMaxAge(7*24*60*60);  
    21.                 pswCookie.setMaxAge(7*24*60*60);  
    22.             }  
    23.             //加入Cookie到響應頭  
    24.             response.addCookie(nameCookie);  
    25.             response.addCookie(pswCookie);  
    26.         }  
    27.     }  
    28. }  
    29. 這是我借鑒CSDN一位前輩的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM