1.session的概念
服务器端回话技术,再一次回话的多次请求间共享数据,将数据保存在服务器端的对象中。
2.快速入门
1、创建servlet
2、获取session
object getAttribute(String value)
void setAttribute(String name,Object value)
void removeAttribute (String name)
存储数据
//1.通过request对象获取session
HttpSession session = request.getSession();
//2.给session对象设置属性和值
session.setAttribute("user","zhangsan");
使用session取数据
HttpSession session = request.getSession();
Object user = session.getAttribute("user");
System.out.println("session获取的user对象值时:"+user);
在运行第二个的时候可以获得第一个的session所存储的值
3.session的原理
通过上面的例子,我们发现了,创建了两个servlet,把值存在session里面,通过s1的session存值,通过s2的session的取值。
第一次创建session的时候,会在内存中创建一个cookie对象,每一个session对象都有对应的唯一的session对象的id。浏览器来访问session的时候,服务器会通过cookie相应一个请求头,请求头信息是set-cookie:JSESSIONID=id值。然后,浏览器访问第二个servlet的时候,会携带请求头信息,session:JSESSION=id值,根据这个id名,找到对应的session。