http session
来源:互联网 发布:爱五子棋打谱软件 编辑:程序博客网 时间:2024/06/02 04:54
session与cookie
session一般指的类就是javax.servlet.http.HttpSession。HTTP协议本身是无状态的,cookie机制就是为了解决HTTP协议无状态的缺陷所做的努力,session(服务端)和cookie(客户端)是在客户端和服务器之间保持状态的解决方案。
cookie是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示来提示浏览器生成相应的cookie。浏览器根据cookie的作用域(与请求资源的位置相比),选择是否发送该cookie。cookie的路径和域一起构成了cookie的作用范围;如果不设置过期时间,则cookie的生命周期是浏览器会话时间,只要关闭浏览器,cookie就消失了。
//HTTP响应头中设置cookieSet-Cookie:....
session机制
服务器端为客户端请求创建session的过程:
(1) 首先检查请求终是否包含一个session id((2) 如果包含有session id,则在内存中找到该session。(3) 如果不包含,则创建一个session。
使用cookie保存session id,cookie名字一般为JSESSIONID;如果cookie被禁止,URL重写,把session id 加在url的后面。
server端程序调用HttpServletRequest.getSession(true)时才被创建,如果JSP没有显式使用<%@page session=”false”%> 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句HttpSession session = HttpServletRequest.getSession(true)。访问*.html的静态资源不会被编译为servlet,没有session。
HttpSession session=request.getSession(true);//session是否为新建的session.isNew();//得到session idsession.getId()//创建时间session.getCreationTime();//最后一次访问时间session.getLastAccessTime();//sessionId是否来自Cookierequest.isRequestedSessionIdFromCookie();//sessionId是否来自URL重写request.isRequestedSessionIdFromURL();
设置服务端的session的过期时间,tomcat的web.xml中
//单位为分钟<session-config> <session-timeout>30</session-timeout></session-config>
session的访问没有路径问题,同一个webapp下都可以访问到。
session在下列情况下被删除:
1. 调用HttpSession.invalidate()2. 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 管理[转]
- 理解http session
- 面对用户的需求设计
- Tiny_cnn用自己的数据训练和测试
- 基础算法之冒泡排序
- abort remove_if of vector
- C++卷积神经网络实例:tiny_cnn代码详解(2)——代码试运行
- http session
- 《众病之王-癌症传》
- Random Forest 实用经验(转)
- TCP /IP 协议-(传输层)TCP 协议
- 糖果机器人_0001_简单的界面设计
- 50道编程小题目
- 配置跟踪开关
- Mac virtualBox 微软官方Win7镜像下载安装全过程
- 人生三大遗憾