2024年4月27日发(作者:)
JSP session对象方法
session对象是ssion类的一个实例,当客户第一次访问J
SP页面时,JSP容器(Tomcat)就会自动创建一个session对象,用来存储客户在
访问各个页面提交的各种信息,即一个session对象对应一个访问客户。
被创建的这个session对象会被分配一个ID号,用来标识不同访问客户信息。J
SP容器会将这个ID号发送到客户端,保存在客户端的cookie中,这样session对
象和客户之间就建立起一一对应的关系。
在JSP的程序中,通常不需要任何代码,就可以直接使用session对象。但是为
了确认,可以加入以下代码,以表示需要启动Session功能:
<%@page session="true"%>
如果设置page指令中session属性为false,则禁用session功能。session对象的
类为HttpSession,它提供了很多使用的方法,以用于维护服务器与用户之间的会话
连接。
从另一个角度来看,其实session对象就像是一把个人的密匙,当任何一个用
户进入某一个JSP页面时,系统就为他生成一个独—无二的session对象来记录该用
户信息。即使用户由—个页面跳转到另一个页面,该session对象内的信息也仍然存
在。session对象的方法如表4-7所示。
表4-7 session对象方法表
方法
void
value)
Object getAttribute(String name)
getId( )
void removeAttribute(String name)
long getCrertionTime( )
long getLastAccessedTime( )
void setMaxInactiveInterval(int interval)
setAttribute(String
说明
name,Object 将value对象以name名称绑定到会话,变成其name
属性。如果name属性已经存在,其对应的对象被转换
为value对象
从会话Session对象中取得name属性,如果name属
性不存在,则返回null
此方法返回会话的标识
从会话中删除name属性。如果name属性不存在,则
这不会执行其他操作,也不会抛出异常
返回创建时间,单位为毫秒,从1970年1月1目算起
返回在会话创建的时间内Web容器接收到客户最后一
次发出请求的时间
设定允许客户请求之间的最长时间间隔。如果请求之
间超过这个时间,JSP容器则会认为请求属于两个不同
的会话
int getMaxInactiveInterval( ) 返回在会话期间内客户请求的最长时间间隔,以秒为
单位
String getld( )
boolean isNew( )
void invalidate( )
返回会话标识SessionID
检查当前客户是否属于新的会话
使会话失效,同时删除其属性对象
例如,当客户登录时,可以给该用户生成一个Session对象,用于跟踪用户在
该网站所做的任意操作。
首先,创建一个用户登录页面,如还使用页面,用来判断用户
是否为合法的用户。如果登录成功,则创建Session对象。
文件名:
<%@ page language="java" import=".*" pageEncoding="UTF-8"%>
用户登录信息
通过上述代码,将用户名和密码内容传递到下面的文件中,并判断用户名和密
码是否合法。如果合法,则创建session对象,并跳转到页面。
文件名:
<%@ page language="java" import=".*" pageEncoding="UTF-8"%>
<%
%>
} else {
}
ror(400, "用户名或密码错误,登录失败!");
racterEncoding("UTF-8");
String username = ameter("user");
String pwd = ameter("password");
if (("admin") && ("admin")) {
ribute("name",username);
direct("");
上述代码中,使用session对象的ribute("name",username)方法将u
sername变量的值和名称name进行关联,这样在其他页面就可以使用name名称获
取绑定的值。
文件名:
<%@ page language="java" import=".*" pageEncoding="GB2312"%>
%>
