一、session会话跟踪技术

一 session会话跟踪技术

http无状态:

	服务器无法判断两次请求是否是同一个客户端发出的,所以会采用会话跟踪技术来
实现

会话跟踪技术

	客户端第一次发送请求给服务器,服务器获取不到则会创建新的,然后响应给
客户端,下次客户端给服务器发送请求时,会把sessionID带给服务器,服务器
就能获取到了
//演示Session
public class Demo03Servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取session,如果获取不到,则创建一个新的
        HttpSession session=request.getSession();
        System.out.println("session ID:"+session.getId());//获取sessionID
        System.out.println(session.getMaxInactiveInterval());//获取session的非激活时间间隔,默认是1800秒
                session.invalidate();

    }
}

常用API

request.getSession()
获取当前会话,没有则创建一个新的会话

request.getSession(true)
效果和不带参数相同,

request.getSession(false)
获取当前会话,没有则返回null 不会创建新的

session.getId()
获取sessionID

session.idNew()
判断当前session是否是新的

session.getMaxInactiveInterval()
获取session的非激活时间间隔,默认是1800秒

session.invalidate()
强制性让会话立即失效

二 session保存作用域

		session保存作用域是和一个具体的某一个session对应的,同一个session相同,
可以储存不同key-value队,但不能重复。不同的session访问的值不同

session.setAttribute(“uname”,“lina”)
向当前的session保护作用域保存一个数据“lina" ,对应的key为uname

session.getAttribute(“uname”)
从当前session保存作用域获取指定的key,也就是uname,对应的value值

保存作用域
像这个图,同一个session的保存作用域保存到一个容器上去,不同的在不同的容器上

//演示向HttpSession保存数据
public class Demo04Servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.getSession().setAttribute("uname","lina");
        System.out.println("1111");
    }
}
//演示从cession保存作用域获取指定的key对应的value值
public class Demo05Servlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Object unameObj=request.getSession().getAttribute("uname");
        System.out.println(unameObj);

    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值