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

1 0