一步一步学习Servlet之Session使用

同一用户不同请求之间的数据共享问题,用户第一次访问服务器,服务器会给此用户创建一个session对象存储在服务器中,并将该session对象的JSESSIONID使用Cookie技术存储到浏览器中,保证用户的其他请求能够获取到同一个session对象,也保证了不同请求能获取到共享数据,作用域是一次对话,这个比起Cookie要更重要,他保存在服务器中,比较安全。

HttpSession hs = req.getSession() //获取session对象

hs.setAttribute(String name, Object value) //存储数据

hs.getAttribute(String name) //获取数据,返回类型是Object

hs.getId() //获取JSESSIONID

hs.setMaxInactiveinterval(秒数) //设置session的有效时间

hs.invalidate() //设置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("/a")
public class SessionDemo1 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        HttpSession session = req.getSession();
        session.setAttribute("username","root");
        String id = session.getId();
        Object username = session.getAttribute("username");
        System.out.println(id + "------" + username);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

发布了376 篇原创文章 · 获赞 242 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/HeZhiYing_/article/details/104041728