• 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一位前辈的
  • 相关阅读:
    java工厂方法模式
    java简单工厂设计模式
    Springboot接口简单实现生成MySQL插入语句
    JMeter 源码二次开发函数示例
    AssertJ断言系列-----------<数据库断言三>
    钉钉机器人集成Jenkins推送消息模板自定义发送报告
    删除ORECLE表主键ID的索引
    日志——log4j.properties配置文件说明
    java基础——反射机制(reflect)的使用
    spring batch (四) Job的配置及配置文件说明介绍
  • 原文地址:https://www.cnblogs.com/110lsm/p/8624840.html
Copyright © 2020-2023  润新知