jsp07 session与cookie

session对象

sessionid

  1. 用户通过浏览器第一次访问服务器的有效组件时就会创建 SESSION内置对象。
    • 有效组件指访问服务器相关类和方法 不包括单纯读取cookie
  2. 当创建SESSION内置对象时tomcat会利用cookie机制向客户端 分配唯一的一个不会重复的32位的session ID
    • Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。
  3. sessionID是由服务器统一管理的,人为不能控制
  4. 通过session.getId() session.getId().length()获取相关具体信息

session判断分析

  1. 当用户发请求访问某一个组件时服务器都会从客户端取得对 应的SESSIONID
  2. 若取得 SESSIONID的次数等于1 说明该session为新的。
  3. 若取得 SESSIONID的次数大于1 说明该session为旧的.
  4. 通过session.isNew()获取相关具体信息 该函数访问一次则返回false

session数据保持分析

  1. session内置对象可以跨页面·请求传递并保持数据和属性
  2. 一个请求可以跳转多个页面 看内部代码 一个请求是否结束 看最终功能是否达成
  3. 会话:一次会话中包含多次请求与响应
    • 一次会话的生命周期:浏览器第一次向服务器发送资源请求 会话建立 直到有一方断开连接为止 比如浏览器关了
  • Attribute
    • 存在四大属性内 存哪那取
  • Parameter
    • 存来自前端表单等的数据 使用request对象取
  • 四大属性范围都可以存属性 但只有request可以取参数

使session失效相关分析

  1. 自动注销:如果用户关闭浏览器后,与其对应的session并不 能马上失效,而是默认将在900秒后才失效。
  2. 手工注销:可以调用invalidate()方法强行使session失效 – session.invalidate();
  3. 在某一时间内注销:通过在web.xml内设置,若用户在某一 时间段内没有操作,让Session失效
  4. 关闭浏览器时注销:在js中嵌入注销代码,可实现关闭浏览 器时注销Session

sessioncookie

sessionCookie都用于跨网页共享数据:

  SESSIONID  
 记录独有的个人信息,在不同页面间传递  
 使用setAttribute和getAttribute方法设置和获取属性数据   
 
 
Cookie  
  数据保持在浏览器客户端:  
  cookie用于在浏览器和服务器之间的纯文本数据,当浏览器访问 服务器时会创建一个cookie保持在浏览器
  
  
session将信息保存在服务器上,而cookie保存在客户端上  session比cookie更安全, session比cookie更占用资源  
开发的原则 :  
session要尽量少使用 —— 尽量少向session中 保存信息 session使用了cookie的机制,如果cookie被禁用,则session也 无法使用  

补充Java知识

   == 的作用  
      基本类型:比较的就是值是否相同  
      引用类型:比较的就是地址值是否相同  
equals 的作用:  
      引用类型:默认情况下,比较的是地址值。 
  注:不过,我们可以根据情况自己重写该方法。一般重写都是自动生成,比较对象的成员变量值是否相同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值