session快速入门

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所存储的值
session快速入门_第1张图片

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。

session快速入门_第2张图片

你可能感兴趣的:(java)