使用Cookie存储登录数据并且实现用户自动登录

您所在的位置:网站首页 用cookie登录网站 使用Cookie存储登录数据并且实现用户自动登录

使用Cookie存储登录数据并且实现用户自动登录

2024-01-04 22:26| 来源: 网络整理| 查看: 265

一、Cookie的介绍

什么是Cookie?

Cookie是Web项目在客户端保存的一些小数据

广泛运用于,在已经登录的网站保存用户名与密码,或者,在有过搜索记录的网站点击搜索框弹出搜索记录

 

Cookie的几点说明:

1.单个cookie大小不超过4kb

           2.同一个域名下cookie的数量一般不超过20个(浏览器不同,会不同)

           3.cookie用于存储少量不敏感的数据

                      4.cookie可以用来区分不同的客户端(在不登录时候,配合session)

二、Cookie的创建 1.Cookie对象是以键值对形式创建的:

        Cookie cookie = new Cookie("name","value");

2.设置Cookie的存活时间(单位:秒):

        cookie.setMaxAge(60);

        对于时间参数的不同设置:

        1.为正数时Cookie存在在客户端中,时间到了就自动清除

        2.为负数时(此方法时间参数默认值为-1),Cookie存在在内存中,浏览器关闭就消失

        3.为0时,Cookie立即被清除

3.设置Cookie的作用域:

cookie.setPath("/");//所有webapps都可以看到这个Cookie

cookie.setPath("/web01");//只有web01可以看到这个Cookie

tip:

这里小小提一句,如果范围设置为“/项目名”,前端的网页接收不到Cookie那就试试去掉“/”,

如果还不行那就直接使用“/”

4.保存Cookie到客户端:

        resp.addCookie(cookie);

        一次可以创建和保存多个Cookie对象

        如果有中文字符就需要转码储存:

Cookie c =  new Cookie("name",URLEncoder.encode("四川周杰伦", "utf-8") );

5.读取Cookie:

        通常读取是在前端网页执行:

                Cookie[] cookies = request.getCookies();

 

三、代码 1、网页代码 图片代码:

 代码:

 

用户名: ;;;密码: 30天自动登录//获取多选框的值判断是否使用30天自动登录

 

2、控制器代码 图片代码:

思路:

在验证完用户名密码合法性之后,验证登录,登录成功后再进行保存Cookie数据

 

3、Cookie类代码 图片代码:

将添加Cookie方法写一个类可以增加代码的可读性,易维护

代码: public class Cookies { public static void autoLogin(HttpServletRequest req, HttpServletResponse resp,User user) throws IOException { System.out.println(user.getUsername()); Cookie cookie = new Cookie("username",user.getUsername()); Cookie cookie1 = new Cookie("password",user.getPassword()); cookie.setMaxAge(2592000); cookie1.setMaxAge(2592000); cookie.setPath("javaweb_jdbc"); cookie1.setPath("javaweb_jdbc"); resp.addCookie(cookie); resp.addCookie(cookie1); resp.sendRedirect("loginsuccess.jsp?username="+user.getUsername());//设置跳转地址 } }

 

这样一个利用Cookie实现自动登录的功能就做出来了

以上,就是使用Cookie存储登录数据并且实现用户自动登录的全部内容了,如有不同意见欢迎评论区讨论,如果这篇文章对你有帮助的话,还请三连支持一下,你的支持就是我更新的最大动力,886~



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3