Http session
来源:互联网 发布:ubuntu查看当前目录 编辑:程序博客网 时间:2024/06/04 18:48
session在WEB环境下是指
一类用来在客户端与服务器端之间保持状态的解决方案
有时候Session也用来指这种解决方案的存储结构
Session机制采用的是在服务器端保持HTTP状态信息的方案
服务器使用一种散列表的结构(也可能就是使用散列表)来保存信息
服务器响应(set-cookie)JSESSIONID给客户端
session通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的
默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,称之为session cookie
用来区别 persistent cookies(也就是我们所说的cookie)
session cookie是存储于浏览器内存中,并不是写到硬盘上的
HttpSession生命周期
1.什么时候创建HttpSession对象
是否浏览器访问服务端的任何一个JSP,服务器都会立即创建一个HttpSession对象?
不一定
对于JSP:
1)若当前的JSP是客户端访问当前WEB应用的第一个资源,且JSP的page指定的session属性值为false,
则服务器就不会为JSP创建一个HttpSession对象。
2)若当前的JSP不是客户端访问当前WEB应用的第一个资源,且其他页面已经创建一个HttpSession对象
则服务器也不会为当前JSP页面创建一个HttpSession对象,而会返回一个与会话相关联的那个HttpSession对象返回给当前JSP页面。
对于Servlet
1)若Servlet是客户端访问的第一个WEB应用,
则只有调用了request.getSession()或request.getSession(true)才会创建HttpSession对象
session=“false"表示当前页面禁用session隐含变量,但可以使用其他的显示HttpSession对象
在Servlet中如何获取HttpSession对象?
request.getSession(boolean create) create为false,若没有和当前JSP页面关联的HttpSession对象
则返回null,若有则返回true。若create为true,一定返回一个HttpSession对象,若没有和当前JSP页面关联的HttpSession对象
则服务器创建一个新的HttpSession对象。若有则直接返回关联的。
request.getSession()等同于request.getSession(true)
2.什么时候销毁HttpSession对象
1)直接调用HttpSession的invalidate()方法
2)服务器卸载了当前WEB应用(关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效)
3)超出HttpSession的过期时间(默认是1800秒)
a.可以在web.xml中设置单位为分钟
b.session.setMaxInactiveInterval(5)单位为秒
URL重写
response.encodeRedirectURL(paramString);
- HTTP Session
- HTTP Session
- http session
- HTTP SESSION
- HTTP session
- http session
- HTTP Session
- http session
- HTTP Session
- http session
- http session
- Http session
- HTTP session
- http session
- HTTP Session
- HTTP Session 管理
- HTTP Session 管理[转]
- 理解http session
- 关于制作rpm包的patch的方法
- A+B
- PHP开发工具及服务器
- sql sever 求阶乘的案例
- 集合的操作(员工类 第三篇)
- Http session
- Android ListView三级联动,实现自定义地址选择器
- 【PHP】静态缓存简单应用
- ubuntu使用NAT实现局域网的网络共享
- Oracle_sql_(7)
- 用 Flask 来写个轻博客 (28) — 使用 Flask-Assets 压缩 CSS/JS 提升网页加载速度
- 从零开始做远控 第三篇
- mysql索引失效统计
- 11111111111