1. Cookie和Session 会话
概念:在Web应用中,Cookie的功能类似于会员卡,当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,如用户信息和商品信息,这些信息都保存在Cookie中。
原理
cookie是由服务器端创建发送给客户端,在客户端保存,
cookie存储数据的格式 name=value,
cookie有时效,通过设置有效期设定cookie在客户端保存的时间,setMaxAge()单位为秒.
session保存用户信息的原理:
当客户端第一次发送请求到服务器时,服务器会为该用户创建session对象和id属性,服务器以set-cookie形式响应给客户端,响应数据名称JSESSIONID,值为session对象的id属性值。
当客户端第二次发送请求到服务器时,会以cookie形式发送数据,JSESSIONID=session对象的id属性值,服务器会根据用户发送的数据,即JSESSIONID的值在服务器上查找该用户的session对象,进而获取该用户的相关信息。
cookie和session的对比
相同点:在会话中保存用户信息,由服务端创建
不同点:
cookie存储在客户端端,session存储在服务器端.
cookie存储的数据类型是String,session存储的数据类型是Object.
session技术的实现要依赖cookie。
自定义Session的失效时间有3种:
1、项目的web.xml中配置 单位为分钟
2、通过session对象.setMaxInactiveInterval(int time);单位为秒
3、在Tomcat服务器的配置文件中(Tomcat安装目录/conf/web.xml)使用session-config