-
概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。
-
快速入门:
- 获取HttpSession对象:
HttpSession session = request.getSession(); - 使用HttpSession对象:
Object getAttribute(String name)
void setAttribute(String name, Object value)
void removeAttribute(String name)
- 获取HttpSession对象:
创建Web项目,src下创建session包
可以分为两个模块
2.1、第一个模块为获取和存储session,创建Servlert类型的SessionDemo1文件
package session;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionDemo1")
public class SessionDemo1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/*
1. 概念:服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。HttpSession
2. 快速入门:
1. 获取HttpSession对象:
HttpSession session = request.getSession();
2. 使用HttpSession对象:
Object getAttribute(String name)
void setAttribute(String name, Object value)
void removeAttribute(String name)
3. 原理
* Session的实现是依赖于Cookie的。
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//使用session获取数据
//1、获取session
HttpSession session=request.getSession();
//2、存储数据
session.setAttribute("msg","hello");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
2.2、第二个模块为获取和取出session,创建Servlert类型的SessionDemo2文件
package session;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/SessionDemo2")
public class SessionDemo2 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//使用session获取数据
//1、获取session
HttpSession session=request.getSession();
//2、获取数据
Object msg=session.getAttribute("msg");
System.out.println(msg);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
效果图
先运行SesionDemo1,再运行SesionDemo2,这样就传递了session
3. 原理
Session的实现是依赖于Cookie的。
可以发现有cookie显示,包含JSESSIONID(一个细节),说明Session的实现是依赖于Cookie的。