java中session对象及其常用方法
来源:互联网 发布:服务器安全狗linux版 编辑:程序博客网 时间:2024/06/16 16:29
session对象用于在会话范围内,记录每个客户端的访问状态,以便于跟踪每个客户端的操作状态。在会话中存储的信息,在浏览器发出后续请求时可以获取这些会话的有效数据。
在jsp页面中可以直接使用session对象,也可以通过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 voidsetAttribute(Sting name, Objectvalue),设定指定名字的属性的值,并将它添加到session会话范围内,如果这个属性是会话范围内存在,则更改该属性的值。
2.public ObjectgetAttribute(Stringname),在会话范围内获取指定名字的属性的值,返回值类型为object,如果该属性不存在,则返回null。
3.public void removeAttribute(Stringname),删除指定名字的session属性,若该属性不存在,则出现异常。
4.public voidinvalidate(),使session失效。可以立即使当前会话失效,原来会话中存储的所有对象都不能再被访问。
5.public String getId(),获取当前的会话ID。每个会话在服务器端都存在一个唯一的标示sessionID,session对象发送到浏览器的唯一数据就是sessionID,它一般存储在cookie中。
6.public void setMaxInactiveInterval(intinterval),设置会话的最大持续时间,单位是秒,负数表明会话永不失效。
7.public intgetMaxInActiveInterval(),获取会话的最大持续时间。
8.使用session对象的getCreationTime()和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.01Transitional//EN">
<html>
</html>
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- java中session对象及其常用方法
- Java Session对象及其常用方法
- java中的session对象及其常用方法
- java中session对象及其常用…
- java中常用类及其常用方法
- session接口及其常用方法
- java中String对象的常用方法
- java中File类的常用所有方法及其应用
- java中File类的常用所有方法及其应用
- JAVA学习第三十八课(常用对象API— Map集合及其常用方法
- jsp 常用的内置对象及其方法
- DOM模型中的常用对象及其方法?
- JDBC四个核心对象及其常用方法
- JSP九个内置对象及其常用方法
- 软件设计模式之工厂模式(Java实现)
- Reconstruction of the Hod Hill 1-06-2014 formation[麦田怪圈 分解]
- android下的callback机制
- 自定义竖型TabWidget
- python中的shell
- java中session对象及其常用方法
- Android平台下OpenGL初步
- java接口的高级应用
- HDU 1023 Train Problem II(卡特兰数)
- http://blog.nosqlfan.com/html/3813.html
- hadoop2.x配置 - RM与NM相关参数
- IE下SCRIPT5009: “JSON”未定义
- android下的service以及callback
- C语言控制台窗口图形界面编程(三):文本属性