使用Cookie存储登录数据并且实现用户自动登录 |
您所在的位置:网站首页 › 用cookie登录网站 › 使用Cookie存储登录数据并且实现用户自动登录 |
一、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 |