Cookie&session


一、Session

/记录用户的登录信息=保存用户的登录信息
//session.setAttribute("uname",name);//键String,值Object
//设置session的最大有效非活动时间 以秒为单位
//session.setMaxInactiveInterval(10);
//打印 sessionID:
//System.out.print(session.getId());
//从session中取出用户的登录信息
//String name=(String)session.getAttribute("uname");//根据键取得对应的值
//判断
/* if(name==null){
  response.sendRedirect("/s5/login.jsp");
} */

二、session

//使用Cookie判断用户是否登录
Cookie c=new Cookie("sname",name);//name,value
//设置Cookie的有效期 10s 一周内免登录
c.setMaxAge(60*60*24*7);
//写入响应
response.addCookie(c);
//拿到所有的Cookie
Cookie[] cs=request.getCookies();
//假设法
boolean f = false;//假设没有登录
if(cs!=null){
  //遍历
  for(Cookie c:cs){//数组或者集合的数据类型 变量名:集合或者数组名
    if("sname".equals(c.getName())){//说明登录了 令牌对了
      f=true;
    }
  }
}
if(f==false){
  response.sendRedirect("/s5/login.jsp");
}

2.1 session的应用对象

        1、保存用户登录状态  用于判断用户是否登录
        2、后期建议直接保存User对象(uuid uname upwd urole)
        3、购物车项目 将整个购物车保存到session中  List<Goods>
    
        Cookie的应用场合
        1、免登陆
        2、历史记录(浏览记录)

2.2 Cookie与session的比较:

(1)session是在服务器端保存用户信息,Cookie是在客户端保存用户信息

(2)session中保存的是对象,Cookie保存的是字符串

(3)session随会话结束而关闭,Cookie可以长期保存在客户端

(4)Cookie通常用于保存不重要的用户信息,重要的信息使用session保存


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值