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); } }
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本