1、浏览器新请求时,Tomcat为其创建新的Session内存空间,并返回其ID,浏览器每次请求都会附带SessionID,所以在Session有效期内,Tomcat会自动识别并可以找到其内存空间的内容
2、ID分配以不同的浏览器窗口打开而不同
@WebServlet("/session/login")
public class SessionLoginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println(" Login success ");
HttpSession session = request.getSession();
// ID与每次打开的浏览器绑定,关闭后重开更新ID
System.out.println(session.getId());
// not request.setAttribute()
session.setAttribute("name", "张三");
//转发
request.getRequestDispatcher("/session/index").forward(request,response);
}
}
@WebServlet("/session/index")
public class SessionIndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession();
System.out.println(session.getId());
String name = (String)session.getAttribute("name");
response.setContentType("text/html;charset=utf-8");
response.getWriter().println("首页显示成功,当前用户是: "+name);
}
}