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原理分析

posted @   baimingze  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示