美文网首页
servlet中的session和cookie

servlet中的session和cookie

作者: Kevin_Huang54 | 来源:发表于2019-02-15 16:52 被阅读0次

session和cookie的区别

  • 两者都是保持会话状态的方式
  • session储存在服务器,cookie储存在客户端
  • session需要一个sessionid来开启,一般储存在cookie中,由容器自行处理
  • cookie通过来回发送的key-value来保证会话状态,需要在controller中编码实现会话保持
  • cookie不太安全,密码、卡号等重要信息应储存在session
  • session会占用服务器资源,考虑性能时,应当使用cookie

servlet中session

  • request.getSession()——获得当前请求对应的session,或者新建一个session,cookie是request的一部分,容器根据cookie中的sessionid与现有的session匹配,返回session
  • request.getSession(false)——参数默认为true,当没有session时会new一个session,设为false则只返回现有session,没有则返回null,推荐使用
  • session.isNew()——判断是否是新建的session

session失效的三种方式

  1. 长时间没有请求调用,时间可以通过容器设置
  2. controller调用invalidate()方法
  3. 容器关闭

servlet中cookie常用方法

  • Cookie是一个类,可以new Cookie(键值对)
  • request.getCookies,返回cookie[]
  • setMaxAge(x秒),设置存活时间,设为0就是删除
  • response.addCookie(cookie)

相关文章

网友评论

      本文标题:servlet中的session和cookie

      本文链接:https://www.haomeiwen.com/subject/wwtmeqtx.html