一 创建
二 活动
三 销毁
四 实例
1、session_page1.jsp
<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>session内置对象</h1>
<hr>
<%
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date d = new Date(session.getCreationTime());
session.setAttribute("username", "admin");
session.setAttribute("password", "123456");
session.setAttribute("age", 20);
//设置当前session最大生成期限单位是秒
//session.setMaxInactiveInterval(10);//10秒钟
//session.invalidate();//销毁当前会话。
%>
Session创建时间:<%=sdf.format(d)%><br>
Session的ID编号:<%=session.getId()%><BR>
从Session中获取用户名:<%=session.getAttribute("username") %><br>
<%
//session.invalidate();//销毁当前会话
%>
<a href="session_page2.jsp" target="_blank">跳转到Session_page2.jsp</a>
</body>
</html>
2、session_page2.jsp
<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<h1>session内置对象</h1>
<hr>
<%
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
//Date d = new Date(session.getCreationTime());
//session.setAttribute("username", "admin");
%>
Session的ID编号:<%=session.getId()%><BR>
从Session中获取用户名:<%=session.getAttribute("username") %><br>
Session中保存的属性有:<%
String[] names =session.getValueNames();
for(int i=0;i<names.length;i++)
{
out.println(names[i]+" ");
}
%> <br>
</body>
</html>
五 测试某次会话中通过超链接打开的新页面属于同一次会话
六 测试只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时,属于同一次会话
七 测试通过调用session.invalidate()方法对session进行销毁
在代码中调用session.invalidate();//销毁当前会话
八 Tomcat超时时间设置方法
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 设置会话一分钟后过期 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
</web-app>
九 小知识点
1、Tomcat后台管理方法
相关推荐
Session生命周期的设置是管理用户会话的关键环节,它决定了一个Session对象从创建到失效的时间间隔。本篇将深入探讨Session的工作原理、生命周期以及如何进行有效设置。 一、Session的工作原理 Session的工作基于...
本示例将深入探讨Hibernate Session的生命周期及其使用,帮助你更好地理解和运用这个强大的工具。 Hibernate Session是Hibernate的核心接口,它是与数据库交互的主要接口。Session对象负责管理实体对象的状态,包括...
本项目实例旨在演示如何利用XFire来开发一个带有Session生命周期管理的Web服务。 首先,让我们深入了解XFire。XFire(现已被Apache CXF所取代)是一个轻量级的Web服务框架,它提供了快速、简单地创建和部署Web服务...
通过Ex01_05视频教程,你将详细学习到如何在实际项目中配置和管理C#.NET的Session生命周期,包括设置超时、选择存储模式以及优化Session使用等技巧。这将有助于你更好地理解Session在Web开发中的角色,从而提升应用...
首先,Session生命周期的起点是生成一个Session ID。这个ID通常在用户首次访问服务器时由服务器生成,并且是随机的,以便每个用户的Session ID都是唯一的。Session ID的生成可以使用PHP内置的函数,比如session_id()...
以下是关于使用监听器跟踪Session生命周期和属性的详细解释。 1. **HttpSessionListener**: - `HttpSessionListener` 是Servlet API提供的一种接口,用于监听HttpSession对象的创建和销毁事件。 - 当一个新的...
在探讨如何通过`OpenSessionInViewFilter`来有效管理Hibernate中的Session生命周期之前,我们需要先理解Session及其生命周期的基本概念。 #### Session与生命周期 在Hibernate框架中,`Session`是执行数据库操作的...
本话题主要关注DataSnap Server的三种生命周期:Invocation生命周期,Session生命周期,以及Server生命周期。我们将深入探讨这些概念,并结合提供的文件名称列表来解析它们在实际应用中的意义。 首先,我们来看`...
2. Session生命周期: 新的浏览器窗口开启会启动一个新的Session,并可能触发`Global.asax`中的`Session_Start`事件。同一浏览器窗口内的多个页面请求不会创建新Session。Session过期后,即使页面提交,也会触发新...
这两个接口提供了对Session生命周期事件的监听方法: 1. `HttpSessionListener`: 包含两个方法,`sessionCreated(HttpSessionEvent se)`用于监听Session创建事件,`sessionDestroyed(HttpSessionEvent se)`用于监听...
然而,有些情况下我们并不需要完整的Session生命周期,比如执行只读操作或者简单的数据检索。在这种情况下,使用Hibernate-nosession模式可以避免创建和管理Session的开销,从而提高应用性能。nosession模式并不意味...
#### 三、Session的生命周期 1. **创建**:当用户首次访问应用时。 2. **使用**:在整个会话过程中,可以读取和修改Session中的数据。 3. **销毁**:通常情况下,Session会在一定时间后自动失效,也可以手动销毁。 ...
3. **调整Session生命周期**:可以通过修改`<sessionState>`元素的`timeout`属性来延长或缩短Session的有效时间。 4. **检查配置**:核对web.config中的Session配置,确保它们符合预期。 5. **修正IIS设置**:检查...
这可能是因为服务器上的Session生命周期设置过长,或者由于使用了持久化Cookie。解决方法是设置合理的Session生命周期,并在必要时清除用户的Cookie: ```php // 设置 Session 生命周期为 30 分钟 ini_set('session...
如果session过期,通常是因为设置的session生命周期已到达,或者是由于某些原因session数据被清除。 在phpcms中,session配置可以在`config.php`或`phpcms/inc.php`等配置文件中找到。可以调整以下参数来解决...
- **Session生命周期**:从用户第一次访问网站开始,直到会话结束或超时为止。 - **安全性**:由于`session`信息存储在服务器端,因此相比客户端的`cookie`而言更加安全。 - **资源消耗**:尽管`session`提高了安全...
1. **Session生命周期**:默认情况下,Session的生命周期大约为30分钟,即用户在30分钟内无操作,Session就会被服务器自动销毁。这个时间可以通过`setMaxInactiveInterval()`方法在服务器端进行设置。 2. **检测...
以下是对`Session`生命周期、何时失效以及对浏览器要求的详细解释。 ### Session的生命周期 1. **创建**:当用户首次访问包含JSP、Servlet等动态内容的网页时,服务器会检查是否存在当前用户的`Session`。如果没有...
- 设置适当的Cookie和Session生命周期,防止长期有效的登录令牌被滥用。 6. **最佳实践**: - 考虑使用更现代的身份验证机制,如JWT(JSON Web Tokens),它们可以提供更安全、更灵活的用户认证方案。 通过以上...