Session学习笔记(七) Session快速入门

Session的概述

  • 概念
    服务器端会话技术,在一次会话的多次请求间共享数据,将数据保存在服务器端的对象中。
  • 快速入门

1.获取HttpSession对象:

HttpSession session = request.getSession();

2.使用HttpSession对象:

Object getAttribute(String name)  
void setAttribute(String name, Object value)
void removeAttribute(String name)  
  • 代码实现
    SessionDemo01.java
@WebServlet("/SessionDemo01")
public class SessionDemo01 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //使用session共享数据

        //1.获取session
        HttpSession session = request.getSession();
        //2.存储数据
        session.setAttribute("msg", "hello");
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

SessionDemo02.java

@WebServlet("/SessionDemo02")
public class SessionDemo02 extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //使用session获取数据

        //1.获取session
        HttpSession session = request.getSession();
        //2.获取数据
        Object msg = session.getAttribute("msg");
        System.out.println(msg);
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request, response);
    }
}

Session的原理

那么服务器是如何确保在一次会话范围内,多次获取的Session对象是同一个的?
其实是依赖于Cookie

我们用火狐浏览器捉包分析

发布了109 篇原创文章 · 获赞 2 · 访问量 1218

猜你喜欢

转载自blog.csdn.net/qq_42528769/article/details/104446432
今日推荐