cookie实现登陆页面保存用户名

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一位前辈的

转载于:https://www.cnblogs.com/110lsm/p/8624840.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107625.html原文链接:https://javaforall.net

(0)
上一篇 2022年3月13日 下午6:00
下一篇 2022年3月13日 下午6:35


相关推荐

  • 從 MoltBot 到 OpenClaw,開源 AI Agent 的換殼與進化

    從 MoltBot 到 OpenClaw,開源 AI Agent 的換殼與進化

    2026年3月15日
    1
  • ubuntu12.04 安装 opencv 2.4.8(非源代码编译)

    ubuntu12.04 安装 opencv 2.4.8(非源代码编译)

    2022年1月24日
    40
  • git项目怎么用_git详细教程

    git项目怎么用_git详细教程项目开发git的基本使用流程项目开发git仓库使用流程一、新建项目以及首次推送1、git上新建项目2、在项目下创建属于该项目的代码仓库(选择私有仓库)3、完成创建后在自己本地的项目文件夹下使用“gitinit”初始化该文件夹4、“gitadd.”将工程内的所有文件放入暂存区5、”gitcommit-m“xxxxxxx””这次提交的信息,”xxxxxx”提交备注尽可能的写的详细,方面后续查找问题6、“gitremoteaddoriginxxxxxxxxxxxxx

    2025年11月24日
    2
  • 蓝牙脂肪秤模块测量原理

    蓝牙脂肪秤模块原理跟普通电子体重秤的原理差不多,都是利用压力传感器及芯片设计完成功能的实现。蓝牙电子秤的外形和地面有四个接触点,四个接触点那里都放着一种压力传感器,压力传感器将人体的重量转换成电信号,后经过芯片设计完成处理器AD采样,再经过换算便可以得到人体的体重。蓝牙脂肪秤模块测量体脂是通过电阻抗法测量出来的,它的具体原理是由电极片发出微弱电流,与人体形成一个闭环,通过肌肉易导电,脂肪不导电的…

    2022年4月11日
    56
  • 求助,部署完Openclaw打不开网页

    求助,部署完Openclaw打不开网页

    2026年3月14日
    3
  • usb转rs485 linux驱动下载,USB转RS485串口驱动「建议收藏」

    usb转rs485 linux驱动下载,USB转RS485串口驱动「建议收藏」USB转RS485串口驱动是一款非常专业的USB转RS485驱动安装程序。这款软件适合WIN7/WINXP/LINUX等系统,能够帮助用户一键解决USB无法转换成RS485的问题,需要的小伙伴可下载体验。【安装方法】1、在安装前可以先看看使用说明再安装。将USB转换线插入电脑的USB接口中,系统会提示检测到新设备并出现新硬件添加向导,选择从列表或指定的位置安装,手动安装,找到刚刚驱动的解压目录,…

    2022年6月12日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号