java EE session对象

一.session对象和application对象不同,application对象只有一个,它可以绑定若干个类似于全局变量的参数或者java对象,而session对象是系统为每一个登陆的用户创建的,是独一无二的,相当于局部参数或者Java对象。session是javax.servlet.http.HttpSession接口的实例对象。

因此,session的方法就相当于是javax.servlet.http.HttpSession接口的方法。

二.获取session对象常用的方法

1)

使用session关键字直接引用session

<%
session.Method();
%>

2)通过request对象的getSession方法,不过,这个获取的HttpSession对象不可以命名为request。

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
 HttpSession mysession=request.getSession(true);
 out.println(mysession.getId());
 out.println("<br>");
 out.println(session.getId());
%>
</body>
</html>
 

3)使用pageContext对象的getSession()方法

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
 HttpSession mysession=request.getSession();
 HttpSession mysession2=pageContext.getSession();
 out.println(mysession.getId()+"<br>");
 out.println(session.getId()+"<br>");
 out.println(mysession2.getId()+"<br>");
%>
</body>
</html>
 

三.session的主要方法

1)getValue(String name)

有些类似于getAttribute(),可以通过putValue()存储变量的值,removeValue()删除变量。

<%
String username=(String)session.getValueNames("username");
Vector vector=(Vector)session.getValue("vector");
%>

2)getValueNames()

该方法可以返回和当前session绑定在一起的参数或者Java对象的名字,该方法返回的是一个字符串数组。

3)getCreationName()

该方法可以返回当前session对象创建的时间单位以毫秒作为单位,从1970年1月1日开始。

4)getID()

系统每生成一个session,都会赋予其一个ID,通过ID来鉴定不同的用户。

5)getLastAccessedTime()

该方法返回当前session最后一次被操作的时间。

6)getMaxInactiveInterval()

该方法可以获得当前的session对象的最大休眠时间。

7)setMaxInactiveInterval()

设定最大的休眠时间,通常和getMaxInactiveInterval()搭配使用。

8)removeValue(String name)

将某个参数或者Java对象和session解除绑定。

9)invaliate()

清除当前的session对象,将所有的参数或者Java对象与session解除绑定。

原文地址:https://www.cnblogs.com/asher/p/2821206.html