1,什么是Sessionhtml
Session通常译为会话,是解决Http协议的无状态问题的方案,能够将一次会话中的数据存储在服务器端的内存中,保证在下一次的会话中可使用。java
在客户端浏览器第一次向服务器端发送请求时,服务器端会为这个客户端建立独有的Session,并具备惟一的Session ID,存储在服务器端的内存中。在客户端第二次访问服务器端时,会携带Session ID在请求中,服务器端会根据Session ID查找对应的Session信息,进行进一步地操做。apache
在JavaEE中提供了javax.servlet.http.HttpSession接口,经过该接口能够将共享的数据内容存储在HttpSession对象中,从而解决Http协议的无状态问题浏览器
2,Session与cookie的区别缓存
Session与Cookie都是解决Http协议的无状态问题,可是二者之间仍是存在必定区别的:安全
总的来讲,Session与Cookie各有优点,不能简单来讲谁更优。具体用法要考虑具体案例状况而定。服务器
3,Session的实现原理cookie
在idea中使用上一个程序进行调试,访问servlet并抓取内容,最后发现实际获得的是org.apache.catalina.session.StandardSession对象,该对象是由Tomcat服务器的Session池建立,并为该对象建立惟一的ID值。session
最后结论:ide
由于Session使用的是会话Cookie,因此当浏览器关闭后,Session会失效。从新打开浏览器访问对应Servlet时,服务器端会从新建立Session对象。可使用持久Cookie来延长Session的有效时间。
3,Session的额生命周期
能够利用setMaxInactiveInterval(int interval)方法设置Session的有效时间。
摘抄自:https://www.cnblogs.com/aaron911/p/7889353.html
因为还在初学阶段,对session的理解还不太透彻,只好经过别人已有的总结来理解session。