会话技术,在了解cookie和session之前,需要先了解一个概念:会话
1. 概念
在日常生活中,从拨通电话到挂断电话之间的一连串的你问我答的过程就是一个会话。web应用中的会话过程类似于生活中的打电话过程,它指的是客户端(浏览器)与web服务器之间连续发生的一系列请求和响应的过程。例如:一个用户在某个网站上的整个购物过程就是一个会话。
2. HttpServletRequest对象和ServletContext
HttpServletRequest对象和ServletContext都可以对数据进行保存,但是针对下面所描述的需求就不可行:
用户甲和乙分别登录购物网站,甲在购物车中添加了一个iphone手机,乙在购物车中添加了一个Ipad平板,这时web服务器需要对用户甲和用户乙的信息分别进行保存。
HttpServletRequest对象存储为什么不能实现该需求呢?
客户端请求web服务器时,针对每次HTTP请求,Web服务器都会创建一个HttpServletRequest对象,该对象只能保存本次请求所传递的数据。由于购买和结账是两个不同的请求,因此,在发送结账请求时,之前购买的数据会丢失。
ServletContext对象为什么不能实现改需求呢
使用ServletContext对象保存数据时,由于同一个Web应用共享的是同一个ServletContext对象,因此,当用户发送结账请求时,由于无法区分哪些商品是哪个用户所购买的,而会将该购