java中的session对象及其常用方法
来源:互联网 发布:找不到淘宝的卖家中心 编辑:程序博客网 时间:2024/05/24 04:17
- session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态,在会话存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。
- 在jsp页面中可以直接使用session对象(jsp的内置对象),也可以通过pageContext.getSession()或者request.getSession重新回去session对象。
- session可以保存用户的信息和实现购物车等功能。
- HTTP协议是一种无状态协议,客户向服务器发出的请求request,然后服务器返回响应response,连接就被关闭了,在服务器不保存连接的有关信息,因此在下一次连接时,服务器已经没有以前的连接信息了,无法判断这一次连接和上一次连接时同一个客户信息,因此,必须使用会话记录有关连接的信息。
- 从客户打开浏览器连接到服务器,到客户关闭浏览器离开这个服务器,称做一个会话。当客户访问服务器是,可能会反复连接这个服务器上的几个页面、反复刷新一个页面或不断地向一个页面提交信息等,服务器应当通过某种方法知道这是同一个客户,这时就需要session对象。
- session的工作原理如下:
- 1、客户首次访问服务器的一个页面时,服务器就会为该用户分配一个session对象,同时为这个session指定唯一的ID,并且将该ID发送到客户端并写入到cookie中,使得客户端与服务器的session建立一一对应的关系;
- 2、当客户端继续访问服务器端的其它资源时,服务器不再为该客户分配新的session对象,直到客户端浏览器关闭、超时或调用session的invalidate()方法使其失效,客户端与服务器的会话结束。
- 3、当客户重新打开浏览器访问网站时,服务器会重新为客户分配一个session对象,并重新分配sessionID。
- session对象主要用于属性操作和会话管理,常用方法如下:
- 1、public void setAttribute(String name,String value)设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。
- 2、public Object getAttribute(String name)在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。
- 3、public void removeAttribute(String name),删除指定名字的session属性,若该属性不存在,则出现异常。
- 4、public void invalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。
- 5、public String getId( ),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。
- 6、public void setMaxInactiveInterval(int interval) 设置会话的最大持续时间,单位是秒,负数表明会话永不失效。
- 7、public int getMaxInActiveInterval(),获取会话的最大持续时间。
- 8、使用session对象的getCreationTime()和getLastAccessedTime()方法可以获取会话创建的时间和最后访问的时间,但其返回值是毫秒,一般需要使用下面的转换来获取具体日期和时间。
- Date creationTime = new Date(session.getCreationTime());
- Date accessedTime = new Date(session.getLastAccessedTime());
- <%@ page language="java" import="java.util.*" contentType="text/html;charset=GBK"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <base href="<%=basePath%>">
- <title>session对象方法</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <!--
- <link rel="stylesheet" type="text/css" href="styles.css">
- -->
- </head>
- <body>
- <b>
- 会话ID:<%=session.getId() %> <br>
- 是否新会话:<%=session.isNew() %><br>
- 设置和获取属性对象:用户名 =
- <%session.setAttribute("用户名","bing"); %>
- <%=session.getAttribute("用户名") %><br>
- <%
- Date creationTime = new Date(session.getCreationTime());
- Date accessedTime = new Date(session.getLastAccessedTime());
- %>
- 会话创建时间:<%=creationTime %><br>
- 上次访问时间:<%=accessedTime %><br>
- 会话持续时间(s):<%=session.getMaxInactiveInterval() %><br>
- <%session.setMaxInactiveInterval(12); %>
- 修改后的会话持续时间(s):<%=session.getMaxInactiveInterval() %><br>
- <%session.invalidate(); %>
- </b>
- </body>
- </html>
0 0
- java中的session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- Java Session对象及其常用方法
- java中session对象及其常用…
- DOM模型中的常用对象及其方法?
- session接口及其常用方法
- Java中的File类及其常用方法
- Java Web学习总结(40)——JSP中的Application对象和Session对象常用方法详解
- JAVA学习第三十八课(常用对象API— Map集合及其常用方法
- jsp 常用的内置对象及其方法
- JDBC四个核心对象及其常用方法
- JSP九个内置对象及其常用方法
- 九大内置对象及其常用方法
- Java常用类及其常用方法
- MySQL(3)-子查询、连接、运算符及函数
- 用python实现简单爬虫
- Ajax 小 Demo 集合(一)
- Android中利用反射机制创建实例的代码
- 解读一段循环冗余校验(CRC)算法程序
- java中的session对象及其常用方法
- 数据结构——顺序表的基本操作
- SwipeRefreshLayout详解和自定义上拉加载更多
- 变态跳台阶
- 调整数组顺序使奇数位于偶数之前
- Linux nohup command &后台运行程序+前后台切换命令
- 如何实现一个平滑的颜色过渡
- 浮点型数据存储方式浅析
- 用两个栈实现队列