jsp内置对象------session
session对象
JSP利用servlet提供的HttpSession接口来识别一个用户,存储这个用户的所有访问信息。
默认情况下,JSP允许会话跟踪,一个新的HttpSession对象将会自动地为新的客户端实例化。禁止会话跟踪需要显式地关掉它,通过将page指令中session属性值设为false来实现,就像下面这样:
1 <%@ page session="false" %>
JSP引擎将隐含的session对象暴露给开发者。由于提供了session对象,开发者就可以方便地存储或检索数据。
下表列出了session对象的一些重要方法:
S.N. | 方法 & 描述 |
---|---|
1 |
public Object getAttribute(String name) 返回session对象中与指定名称绑定的对象,如果不存在则返回null |
2 |
public Enumeration getAttributeNames() 返回session对象中所有的对象名称 |
3 |
public long getCreationTime() 返回session对象被创建的时间, 以毫秒为单位,从1970年1月1号凌晨开始算起 |
4 |
public String getId() 返回session对象的ID |
5 |
public long getLastAccessedTime() 返回客户端最后访问的时间,以毫秒为单位,从1970年1月1号凌晨开始算起 |
6 |
public int getMaxInactiveInterval() 返回最大时间间隔,以秒为单位,servlet 容器将会在这段时间内保持会话打开 |
7 |
public void invalidate() 将session无效化,解绑任何与该session绑定的对象 |
8 |
public boolean isNew() 返回是否为一个新的客户端,或者客户端是否拒绝加入session |
9 |
public void removeAttribute(String name) 移除session中指定名称的对象 |
10 |
public void setAttribute(String name, Object value) 使用指定的名称和值来产生一个对象并绑定到session中 |
11 |
public void setMaxInactiveInterval(int interval) 用来指定时间,以秒为单位,servlet容器将会在这段时间内保持会话有效 |
JSP Session应用
这个例子描述了如何使用HttpSession对象来获取创建时间和最后一次访问时间。我们将会为request对象关联一个新的session对象,如果这个对象尚未存在的话。
1 <%@ page language="java" contentType="text/html; charset=UTF-8"2 pageEncoding="UTF-8"%>3 <%@ page import="java.io.*,java.util.*" %>4 <%5 // 获取session创建时间6 Date createTime = new Date(session.getCreationTime());7 // 获取最后访问页面的时间8 Date lastAccessTime = new Date(session.getLastAccessedTime());9 10 String title = "再次访问菜鸟教程实例"; 11 Integer visitCount = new Integer(0); 12 String visitCountKey = new String("visitCount"); 13 String userIDKey = new String("userID"); 14 String userID = new String("ABCD"); 15 16 // 检测网页是否由新的访问用户 17 if (session.isNew()){ 18 title = "访问菜鸟教程实例"; 19 session.setAttribute(userIDKey, userID); 20 session.setAttribute(visitCountKey, visitCount); 21 } else { 22 visitCount = (Integer)session.getAttribute(visitCountKey); 23 visitCount += 1; 24 userID = (String)session.getAttribute(userIDKey); 25 session.setAttribute(visitCountKey, visitCount); 26 } 27 %> 28 <html> 29 <head> 30 <title>Session 跟踪</title> 31 </head> 32 <body> 33 34 <h1>Session 跟踪</h1> 35 36 <table border="1" align="center"> 37 <tr bgcolor="#949494"> 38 <th>Session 信息</th> 39 <th>值</th> 40 </tr> 41 <tr> 42 <td>id</td> 43 <td><% out.print( session.getId()); %></td> 44 </tr> 45 <tr> 46 <td>创建时间</td> 47 <td><% out.print(createTime); %></td> 48 </tr> 49 <tr> 50 <td>最后访问时间</td> 51 <td><% out.print(lastAccessTime); %></td> 52 </tr> 53 <tr> 54 <td>用户 ID</td> 55 <td><% out.print(userID); %></td> 56 </tr> 57 <tr> 58 <td>访问次数</td> 59 <td><% out.print(visitCount); %></td> 60 </tr> 61 </table> 62 </body> 63 </html>
删除Session数据
当处理完一个用户的会话数据后,您可以有如下选择:
- 移除一个特定的属性:
调用public void removeAttribute(String name) 方法来移除指定的属性。
- 删除整个会话:
调用public void invalidate() 方法来使整个session无效。
- 设置会话有效期:
调用 public void setMaxInactiveInterval(int interval) 方法来设置session超时。
- 登出用户:
支持servlet2.4版本的服务器,可以调用 logout()方法来登出用户,并且使所有相关的session无效。
- 配置web.xml文件:
如果使用的是Tomcat,可以向下面这样配置web.xml文件:
<session-config><session-timeout>15</session-timeout> </session-config>
超时以分钟为单位,Tomcat中的默认的超时时间是30分钟。
Servlet中的getMaxInactiveInterval( ) 方法以秒为单位返回超时时间。如果在web.xml中配置的是15分钟,则getMaxInactiveInterval( ) 方法将会返回900。
转载于:https://www.cnblogs.com/pohuaiwang/p/7337249.html
jsp内置对象------session相关推荐
- JSP内置对象Session——setAttribute/getAttibute/removeAttribute
本文章代码使用了request内置对象,可先查看之前的文章学习. 前言 一.Session使用环境 二.常用方法 三.使用示例 1. 设计某系统登陆模块,该模块需满足以下条件: 2.login.jsp ...
- jsp内置对象*session
session对象 基本概念: 指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止.它是HttpSession类的实例. ...
- JSP内置对象—session
什么是session? session对象是用来在每个用户之间分别保存每个用户信息的对象,以便跟踪用户的操作状态.session的信息保存在server端,session的id保存在client的co ...
- jsp内置对象--session
session(服务端) session:会话 1. 浏览网站:开始->关闭 2. 购物:浏览,结算,付款,退出 3. 电子邮件: 浏览,写邮件,退出 以上都是session的例子,一次开始到结 ...
- Java学习-jsp内置对象Session
转载于:https://www.cnblogs.com/sunjianfei/p/5682330.html
- jsp 内置对象 session
- jsp内置对象【02】四种内置对象【02】session、application
我们继续来学习,上一篇文章中说到了request属性,那么既要想客户端和服务端都都能实现跳转的话,就用到了session. 第三种:session属性 我们接着修改一下上一篇文章中的代码来对比一下: ...
- JSP内置对象:request、response、out、session、application等内置对象
Java程序的功能主要是由Java包下的各个类在运行期所产生的对象所提供,并且应用这些对象组织构建程序所需的功能. 所谓JSP内置对象,是指在JSP网页环境之下,用户不需要声明而直接可以在JSP网页中 ...
- Jsp内置对象及EL表达式的使用
一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequest response HttpServletResponse ses ...
最新文章
- Ubuntu下编译并运行C++代码
- 【AI杂谈】从一篇参考文献比正文还长的文章,杂谈深度学习综述
- BFS 算法解题套路框架+几个用于BFS的set与queue用法和技巧
- java return
- spring mvc学习(6):springMVC的常见注解
- scaling之旅_机器学习算法之旅 - lwaif的个人空间 - OSCHINA - 中文开源技术交流社区...
- MySQL 慌了!这个分库分表方法论,要火了?
- 一个人如果控制不住自己乱消费,等同于废物
- 论文Attention-guided CNN for image denoising解读
- 30秒清除你电脑中的垃圾
- 时间序列(一):时间序列数据与时间序列预测模型
- OA系统选型的那些事儿
- [精简]托福核心词汇98
- 安卓图片轮播(banner)
- iOS 视频转gif
- Linux下基于Openstack安装部署私有云
- 【微信开发6】专属推广二维码 java+SpringBoot
- 2019 icpc南昌邀请赛 G Winner
- 解密Springboot内嵌Tomcat
- 【UFUN开发板评测】小巧而不失精致,简单而不失内涵——uFun开发板开箱爆照...