打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Session对象
大家都知道HTTP是无状态的通信协议,Web服务器为了区别不同的用户和跟踪用户的操作状态,在Java Servlet API中使用Session机制来实现。存放于服务器端的Session对象中保存每一个用户的信息,而Session的ID却保存在客户端的Cookie中,这样一来,客户端和服务器端在每次请求/相应过程中就能确保不会错位了。
每一个客户端都会得到一个唯一的SessionID,在服务器端有一个与之对应的Session对象。Session对象有其特定的声明周期,它开始于客户端的第一次访问,结束于以下几种情况:
(1)客户端关闭浏览器
(2)Session过期
(3)服务器端调用了Session对象的invalidate()方法
session对象的常用方法
long getCreationTime()返回该Session被创建时间
String getId()返回该Session的ID
long getLastAccessedTime()返回该Session用户最后一次创建的时间
long getMaxInactiveInterval()返回该Session可以处于不活动状态的最大时间间隔
void invalidate()使该Session失效,服务器端将释放该Session对象占用的资源
boolean isNew()判断是否为新建的Session
void setMaxInactiveInterval(int arg0)设置该Session可以处于不活动状态的最大时间间隔
void setAttribute(String arg0,Object arg1)设定arg0所指属性的值为arg1
Object getAttribute(String arg0)取得arg0所指属性的值,如果不存在则返回null
void removeAttributeString atg0移除arg0所指属性
用法举例:
sessionDemo.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<h2>Session对象实例</h2><hr/>
<%
String[] users ={"admin","liubin","dywdyw"};
String user=null;
String logined =null;
Date createTime,lastAccessTime;
if(request.getParameter("user")!=null){
user =request.getParameter("user");
}else{
out.println("对不起,请在请求参数中附加用户账号!");
return ;
}
for(int i=0;i<users.length;i++){
if(users[i].equalsIgnoreCase(user)){
session.setAttribute("logined","yes");
}
}
if(session.getAttribute("logined")!=null){
logined=session.getAttribute("logined").toString();
if(logined.equals("yes")){
createTime =new Date(session.getCreationTime());
lastAccessTime =new Date(session.getLastAccessedTime());
out.println("恭喜你成功登陆!<br/>");
out.println("你的SessionID为:"+session.getId()+"<br/>");
out.println("创建时间为:"+createTime+"<br/>");
out.println("最后的访问时间为:"+lastAccessTime+"<br/>");
out.println("最大不活动时间为:"+session.getMaxInactiveInterval()+"秒<br/>");
}else{
out.println("对不起,你输入的账户有误!");
}
}else{
out.println("对不起,你输入的账户有误!");
}
%>
</body>
</html>
结果:
1.没有带请求参数
2.带请求参数
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JSP内置对象
理解Java对象序列化
计算机科学论坛--Servlet2.3:新特征
在jsp中怎么实现登录后,自动跳转到登录前正浏览的页面
JAVA中文站->J动论坛:【推荐】! 网页制作技巧总结!
session有关问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服