首页 > 其他 > 详细

【tomcat】sessionId学习(未完待续)

时间:2018-10-22 23:08:09      阅读:184      评论:0      收藏:0      [点我收藏+]

  这里主要研究tomcat中session的管理方式以及sessionId的原理,下文将研究sessionid存到redis中以及基于redis以及redis实现session共享。

  平时也就是了解session是基于cookie实现的,cookie是保存在客户端,而session是保存在服务端,对其原来也没有深入理解。下面将深入理解。

1.什么是session

  对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap;

 

2.Session的目的

Http协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录;

Session的主要目的就是为了弥补Http的无状态特性。简单的说,就是服务器可以利用session存储客户端在同一个会话期间的一些操作记录;

 

3.简单的研究session的创建时机

   我们知道request.getSession(boolean create)   获取session,并根据参数动态的获取session,如果传的参数是true的话不存在session就创建一个并返回一个session;如果传false,不存在session也不会创建,如下代码:

throws ServletException, IOException {
        HttpSession session = request.getSession(true);// 传true会创建一个并返回,false不会创建
        PrintWriter writer = response.getWriter();
        if (session == null) {
            writer.write("null");
        } else {
            writer.write(session.toString());
        }
    }

 

 

查看grequest.etSession(boolean create)的源码并分析:

 

 

 

 

 

参考:http://www.cnblogs.com/chenpi/p/5434537.html

 

【tomcat】sessionId学习(未完待续)

原文:https://www.cnblogs.com/qlqwjy/p/9833669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!