九、Cookie和Session

Cookie

Cookie 是存储在客户机的文本文件,它们保存了大量轨迹信息。

HTTP cookie流程:

  1. 服务器脚本发送一系列 cookie 至浏览器。比如名字,ID 等等用户信息。
  2. 浏览器在本地机中存储这些信息
  3. 当下一次浏览器发送任何请求至服务器时,它会同时将这些 cookie 信息发送给服务器,然后服务器使用这些信息来识别用户等。

创建Cookie步骤:

  1. 创建一个Cookie对象

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

  1. 设置有效时间(单位为秒):

cookie.setMaxAge(30); //设置有效时间,单位秒,默认-1,即关闭浏览器失效。

  1. 将cookie发送至HTTP响应头中

resp.addCookie(cookie);

  1. 获取cookie信息

Cookie[] cookies = req.getCookies();
for (int i = 0; i < cookies.length; i++){
    Cookie cookie = cookies[i];
    System.out.println("AdminHomeServlet cookie:"
            +cookie.getName()+",value="+cookie.getValue()
            +",maxage="+cookie.getMaxAge());
}

比如:在AdminLoginServlet登录时把用户信息保存在一个cookie中,然后AdminHomeServlet获得。

Session:

保存用户信息到session中:

HttpSession session = req.getSession();
session.setMaxInactiveInterval(30);//设置有效时间,单位秒,默认30分钟
session.setAttribute("username",name);

获取Session中的信息:                  

String username = (String)req.getSession().getAttribute("username");

从session中移除某个属性:

req.getSession().removeAttribute("username");

清除session:

req.getSession().invalidate();//将session无效化

session和cookie的最大区别:

session信息保存在服务器

cookie信息保存在客户端

所以,session比较安全,cookie不安全。但是session会占用服务器资源,影响服务器性能。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

登登登__

期待每一份真诚

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值