Session快速入门和原理分析
Session快速入门
Session概念:服务器会话技术 在一次会话的多次请求间共享数据 将数据保存在服务端的对象中 HttpSession
- 服务器会给每一个用户(浏览器)创建一个Session对象
- 一个Session独占一个浏览器 只要浏览器没有关闭 这个Session就存在
- 用户登录之后 整个网站它都可以访问!-->保存用户的信息 保存购物车的信息
Session和Cookie的区别
- Cookie时吧用户的数据写给用户的浏览器 浏览器保存(可以保存多个)
- Session把用户的数据写到用户独占Session中 服务器保存(保存重要的信息 减少服务器资源的浪费)
- Session对象有服务创建
快速入门:
HttpSession对象:
- Object getAttribute(String name)
- void setAttribute(String name,Object value)
- void removeAttribute(String name)
使用场景
- 保存一个登陆用户的信息
- 购物车信息
- 在整个网站中经常会使用的数据 我们将它保存在Session中
java代码
SessionDemo1
package com.bai.Session; 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; import java.io.IOException; @WebServlet("/SessionDemo1") public class SessionDemo1 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //使用Session共享数据 //1.获取Session HttpSession session = req.getSession(); //2.存储数据 session.setAttribute("msg","hello session"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
SessionDemo2
package com.bai.Session; 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; import java.io.IOException; @WebServlet("/SessionDemo2") public class SessionDemo2 extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //使用Session共享数据 //1.获取Session HttpSession session = req.getSession(); //2.存储数据 Object msg = session.getAttribute("msg"); System.out.println(msg); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
运行结果

Session原理分析


浙公网安备 33010602011771号