session_VS_Cookie
来源:互联网 发布:java字符串转utf8编码 编辑:程序博客网 时间:2024/06/01 09:59
Session-VS-Cookie(会话管理)
一、会话:
浏览器和服务器交互的一次过程,会话内容可以保存在服务端(内存),也可以保存在客户端(磁盘)
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。
常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端
记录信息确定用户身份。
二、Session:
JSP利用servlet提供的HttpSession接口来识别一个用户,存储这个用户的所有访问信息。默认情况下,JSP允许会话跟踪,一个新的HttpSession对象
将会自动地为新的客户端实例化。
Session保存原理:
每次打开浏览器访问jsp时都会产生一个新的session对象。此时利用session保存数据的作用范围是从浏览器打开到关闭,如果关闭浏览器,
该session对象还会存在于服务器端,一直等到session超时,服务器才会把该session给删除,所以一般情况下,使用session时尽量只保存简单的少量
的数据,否则容易造成内存溢出。
应该设置session的存活时间:(默认存活时间是1800)
方式一:session.setMaxInactiveInterval()
方式二:在web.xml中设置
<!-- 设置session超时时间 ,单位为分钟 -->
<session-config>
<session-timeout>5</session-timeout>
</session-config>
Session可以用于做用户登录和退出,如下:
或
三、cookies:
网络服务器可以指定一个唯一的session ID作为cookie来代表每个客户端,用来识别这个客户端接下来的请求。
不属于jsp内置爱对象,可以将会话信息保存在客户端磁盘里面
Cookies的使用步骤:
1、实例化Cookie对象,通过构造方法以键值对的形式保存会话信息
2、设置cookie的存活时间
3、利用response对象将cookie对象写入到客户端磁盘中
4、利用request对象读取客户端磁盘上cookie对象
四、session和cookie的区别:
1、Session保存数据在服务端,cookie保存数据在客户端
2、cookie对象中存储着session的id