JavaWeb_day05cookie_session_HttpSession

本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

**转载请注明 出自 : luogg的博客园 ** 谢谢配合!

两个会话的技术cookie session

会话概念 : 打开浏览器,多次访问WEB资源,关闭浏览器,整个过程称为一次会话.
cookie 客户端技术 不是很安全
session 服务器端技术

session 技术

创建之后,访问
关闭浏览器之后.session销毁,

同一个名字,不同的value,最后的会覆盖之前的

  • cookie基于客户端,不安全,并且大小和个数的限制。
  • void setAttribute(String name, Object value)
  • Object getAttribute(String name)
  • String getId() 获取seesion的唯一的ID
  • void invalidate() 销毁的seesion
  • void removeAttribute(String name) 从会话中删除name的属性值,若不存在不会执行
  • void setMaxInactiveInterval(int seconds) 允许客户请求的最长时间

====

session的创建和销毁

  • 第一次访问资源,调用request.getSession(),创建session
  • 销毁
    • 非正常关闭服务器()

    • session的过期,Tomcat默认是30分钟。(用户的发呆时间)

    • 调用session.invalidate()手动销毁session

session属性的默认保存时间为30min,如果要修改,可以在web.xml和程序中进行修改以Tomcat为例,Tomcat --> conf --> web.xml --> -->
在程序中修改用 : setMaxInactiveInterval(int val)单位:秒```

session 可以用来做什么

1.网上商城中的购物车。
2.保存登录的用户信息。
3.将某些数据放入到session中,供同一用户的各个页面使用。
4.防止用户非法登录到某个页面

HttpSession 生命周期

1、客户端向服务器第一次发送请求的时候,request中并无SessionID
2、此时服务器会创建一个Session对象,并分配一个SessionID。Session对象保存在服务器端,此时为新建状态,调用session.isNew()返回true。
3、当服务器端处理完毕后,会将SessionID通过response对象传回到客户端,浏览器负责保存到当前进程中。
4、当客户端再次发送请求时,会同时将SessionID发送给服务器。
5、服务器根据传递过来的SessionID将这次请求(request)解析
6、循环执行过程3-5,直到Session超时或销毁

原文地址:https://www.cnblogs.com/luogg/p/6017563.html