JavaWeb之cookie与session

会话

用户打开一个浏览器,点击了许多web资源,然后关闭浏览器,这个过程就叫会话。简单来说用户访问了你的网站,访问完你的网站后就把浏览器关闭,在这个过程中浏览器记录了用户进入你网站的记录,这个记录可以分为把记录存在客户端和服务端,也就是我们经常说的cookie和session。

什么是cookie和session呢?

cookie

对于这个问题,我们可以这样假想这样的一个问题,我们如何证明自己是学校里的学生!我们通过学校发校服给我们或者等手段来证明我们是学校的学生,通过校服和学生证我们就可以进入学校,上面举例就是cookie与服务端的关系,cookie就是把服务端给的数据存储在本地。

cookie注意点:

  1. cookie从请求中获得
  2. cookie是把数据存储在本地,请求时会把cookie带上.
  3. cookie只能存储字符串
  4. 一个站点可以把20个cookie存在在访问的浏览器上
  5. 一个cookie只能存4kb数据。
  6. 默认时长就是关闭浏览器时,自动销毁。setMaxAge()可以设置存在时间,单位秒

cookie常用方法:

  • new Cookie(kay(String),value(String))创建cookie
  • addCookie()响应cookie
  • getCookies()获得coolie数据
  • getName()获得cookie名字
  • getValue()获得cookie的值

session

session服务气器给每个用户创建一个session对象,一个session独站一个浏览器,浏览器关闭seesion也销毁。当浏览器访问我们的站点后浏览器就已经在我们容器中创建一个session。

session注意点:

  • session是把数据存放在服务端。
  • session通过请求获取
  • 浏览器关闭session不会立即销毁,session销毁根据设置的时间或默认时间销毁;我们知道Session是存在于服务器端的,当把浏览器关闭时,浏览器并没有向服务器发送任何请求来关闭Session,自然Session也不会被销毁。

seesio的常用方法:

  • getId()浏览器自动创建的seesionid
  • isNew()p判断session是最新的吗
  • setAttribute(String,Object)把数据存储到域中供其他servlet使用
  • getAttribute(String)获得数据
  • removeAttribute(String);更具名称删除session
  • invalidate()销毁session

设置超时时间:

设置超时时间有两种:代码与xml配置
1、 setMaxInactiveInterval()设置sessionz最大时长(单位秒)
2、通过web.xml配置sessio的时长(单位分钟)

     <session-config>
      <session-timeout>1</session-timeout>
     </session-config>

seassion用途

  • 保存一个登录用户信息
  • 购物车
  • 在整个网站中经常使用的数据,将他保存在session中。

session与cookie 区别

  • cookie是把数据写给用户的浏览器,浏览器保持(可以保存多个,一个站点最多20)
  • session把用户数据写道用户独占session中,服务端保存数据(session数量也是有限的,尽量保存重要信息)
  • session对象由服务端创建
  • cookie在不更改默认最大时长值时,cookie会根绝浏览器关闭而销毁,session不会。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值