javaweb会话----->Session技术
一次会话中:多次请求。。。。
* 第一次连接请求到最后断开连接。。。都一直存在;或者服务器关闭。。。
* 解决问题就是:浏览器与服务器数据共享问题,request域的不足,会话技术拓展。。
* http每次请求和响应式无状态的。所以需要解决这个问题,,数据共享让每一次请求和响应变得有状态
* 会话技术就是让http的无状态,变成有意义的有状态
*
* 按照数据的存储情况把会话技术分为两种:
* 数据存储在服务器端:那就是Session技术
* 数据存储在浏览器端:那就是Cookie技术
服务器会话技术:
原理: Session的实现是依赖Cookie的
@WebServlet(urlPatterns = {"/session"}, loadOnStartup = 1) public class SessionServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); resp.setCharacterEncoding("UTF-8"); req.setCharacterEncoding("UTF-8"); //1 创建session对象 //如果本次会话还没有session,那么这个就会创建一个session对象 //如果本次会话中已经存在了session,那么就是获取已经存在的该session对象。。 /* * * Session的实现是依赖Cookie的* * JSESSIONID:1479F7B045B3E185BAFDAB2A67DC2D39 *它是服务器自动完成的。。 * * 可以手动设置; * new Cookie("JSESSIONID","隔壁老郭") * */ HttpSession session = req.getSession(); session.setAttribute("key01", "郭XX"); } }
@WebServlet(urlPatterns = {"/cookieGet"}, loadOnStartup = 1) public class CookieServletGet extends HttpServlet { /*会话技术Cookie技术:基于浏览器存储共享数据*/ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); resp.setCharacterEncoding("UTF-8"); req.setCharacterEncoding("UTF-8"); Cookie[] cookies = req.getCookies(); for (Cookie cookie : cookies) { System.out.println(cookie.getName() + ":" + cookie.getValue()); //基于服务器的删除cookie cookie.setMaxAge(0); //如果添加的cookie的key重复,那么会覆盖之前的 resp.addCookie(cookie); } } }
作者:隔壁老郭
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
Java入门到入坟
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南