博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简述session
阅读量:6829 次
发布时间:2019-06-26

本文共 1834 字,大约阅读时间需要 6 分钟。

1.Session概述

* session是服务器端技术* 服务器在运行时可以为每一个用户的浏览器创建一个其独享的session对象* 由于session为用户浏览器独享,所以用户在访问服务器的web资源时,可以把各自的数据放在各自的session中* 当用户再去访问服务器中的其它web资源时,其它web资源再从用户各自的session中取出数据为用户服务* session也是基于cookie技术的,传递是session的id值

2.Session对象的API

* void setAttribute(String name, Object value)* Object getAttribute(String name)* void removeAttribute(String name)* String getId()                                        -- session的空间有唯一的id值,获取该id值的。* void invalidate()                                     -- 销毁session对象* ServletContext getServletContext()                    -- 获取ServletContext域对象

 3.使用request对象来获取到session的对象

* request.getSession()                                  -- 返回HttpSession对象,第一次调用,为你创建session对象(空间)

4.Session的创建和销毁

session对象的创建

* 针对是每个用户的浏览器,为每一个浏览器都创建一个独享的session的对象。* request.getSession()      -- 该方法可以创建session的对象,但是也可以来获取到session对象* 根据cookie对象中是否有jsessionid的cookie,如果有,通过id值查找,找到了不用创建了,返回。如果没有找到,创建一个新的session对象。

session对象的销毁

* 关闭服务器销毁session* 非正常的原因关闭服务器,销毁session* 如果正常关闭服务器,session会被序列化到磁盘上。
* 配置session的默认销毁时间,默认值是30分钟* 在tomcat/conf/web.xml文件中设置了session默认超时时间            
30
* 设置session最大的存活的时间 * void setMaxInactiveInterval(int interval) * 直接使用方法,销毁session * invalidate();

5.Session域对象

5.1.session的域对象

* 作用:用来传递数据* 区别:每个域对象的存活时间不同!!

5.2.方法

* void setAttribute(String name, Object value)* Object getAttribute(String name)* void removeAttribute(String name)

5.3.域对象(3个域对象最重要的)

* request               -- 真实对象HttpServletRequest        * 代表的是一次请求的范围        * 在服务器端给客户度传递一些提示的信息和查询的数据 * session               -- 真实对象HttpSession        * 代表的是一次会话的范围(可以发送多次请求和得到多次响应)        * 保存的都是和每个用户相关的数据(登录后需要把用户的信息,购买商品需要保存起来) * application           -- 真实对象ServletContext        * 代表的是一个WEB应用        * 保存全局共享的数据

 

转载于:https://www.cnblogs.com/yadongliang/p/6232891.html

你可能感兴趣的文章
JS基础之传参(值传递、对象传递)
查看>>
CC 攻击检测研究现状
查看>>
SpringBoot开发案例从0到1构建分布式秒杀系统
查看>>
通通WPF随笔(4)——通通手写输入法(基于Tablet pc实现)
查看>>
sublime text3配置ctrl+鼠标左键进行函数跳转【转】
查看>>
(转)几种经典的hash算法
查看>>
pytest文档6-fixture之yield实现teardown
查看>>
gerrit 使用教程(一)
查看>>
使用caddy 进行nodejs web应用近实时编译更新
查看>>
Solr如何使用in语法查询
查看>>
WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
查看>>
高级动画
查看>>
类型运算符
查看>>
Content Security Policy (CSP) 介绍
查看>>
DevExpress去除多国语言包
查看>>
numpy初始化
查看>>
移植gdb到海思3716板子的方法【转】
查看>>
为什么一些机器学习模型需要对数据进行归一化?
查看>>
【Linux】echo命令
查看>>
MySQL主从1205报错【转】
查看>>