session理解

服务器端会话技术:Session(将数据存放在服务器端对象中)*共享数据:一次会话中共享数据

       *共享数据:一次会话中共享数据
        (1)、获取HttpSession对象
            HttpSession session=request.getSession();
        //**是request对象获取session
        (2)、使用HttpSession对象:
            Object getAttribute(String name)
            void setAttribute(String name,object  value)
            void removeAttribute(String name)

实现原理

session的实现是依赖于cookie。当客户端第一次访问服务器端时候,服务器端会自动创建一个session对象,并且响应一个set-cookie头到客户端,该set-cookie头携带了服务器端创建session的id,当下一此客户端再次访问服务器其他资源的时候,会带着cookie头向服务器做出请求,服务器识别cookie中的session的id找到对应的session实现数据的共享

一些细节

(1)、客户端关闭后,服务器端不关闭,两次获取的session是否是同一个?
不是,默认情况下不是。若要实现session持久化,需要创建一个cookie,将session的id值放到cookie中。再设置cookie的存活时间

HttpSession session=request.getSession();
//**设置session的值
session.setAttribute("name","ljiayu");
//**创建cookie使得session持久化
Cookie cookie=new Cookie("JSESSIONID",session.getId());
//**设置cookie的存活时间
cookie.setMaxAge(60*30);
response.addCookie(cookie)

//**其中cookie的name值必须为JSESSIONID
(2)、当客户端不关闭时,服务器关闭后,两次获取session是同一个吗?
不是同一个,由于之前在服务器端的session在服务器关闭时,之前创建的session别销毁了
实现session中的数据不丢失:
session钝化:服务器正常关闭之前,将session对象序列化到硬盘
session活化:服务器启动后将session文件转化为内存的session对象中。
//**idea只能钝化不能活化,但是tomcat可以,以后都将项目部署到tomcat服务器上面。在tomcat中部署了项目后,关闭服务器tomcat会将服务器上的session存放到tomcat的work目录下,等tomcat再次启动会将该文将加载进内存
(3)、session的失效时间?
*服务器被关闭时:
*调用方法invalidate()自我销毁
*默认三十分钟自动被销毁
可以选择性配置

30

                    在tomcat的配置文件中配置

    *特点:
      (1)、session用于存储一次会话的多次请求数据,存在服务器端
      (2)、session可以存储在任意类型,任何大小的数据
已标记关键词 清除标记
相关推荐
<p> <b><span style="background-color:#FFE500;">【超实用课程内容】</span></b> </p> <p> <br /> </p> <p> <br /> </p> <p> 本课程内容包含讲解<span>解读Nginx的基础知识,</span><span>解读Nginx的核心知识、带领学员进行</span>高并发环境下的Nginx性能优化实战,让学生能够快速将所学融合到企业应用中。 </p> <p> <br /> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><br /> </b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b><span style="background-color:#FFE500;">【课程如何观看?】</span></b> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> PC端:<a href="https://edu.csdn.net/course/detail/26277"><span id="__kindeditor_bookmark_start_21__"></span></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a> </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 移动端:CSDN 学院APP(注意不是CSDN APP哦) </p> <p style="font-family:Helvetica;color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 本课程为录播课,课程永久有效观看时长,大家可以抓紧时间学习后一起讨论哦~ </p> <p style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <br /> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <strong><span style="background-color:#FFE500;">【学员专享增值服务】</span></strong> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> <b>源码开放</b> </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 课件、课程案例代码完全开放给你,你可以根据所学知识,自行修改、优化 </p> <p class="ql-long-24357476" style="font-family:"color:#3A4151;font-size:14px;background-color:#FFFFFF;"> 下载方式:电脑登录<a href="https://edu.csdn.net/course/detail/26277"></a><a href="https://edu.csdn.net/course/detail/27216">https://edu.csdn.net/course/detail/27216</a>,播放页面右侧点击课件进行资料打包下载 </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页