`
cakin24
  • 浏览: 1389558 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

session的生命周期

    博客分类:
  • java
阅读更多
一 创建


 
 
二 活动


 
 
三 销毁


 
四 实例
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]+"&nbsp;&nbsp;");
                     }
   
    %> <br>   
  </body>
</html>
 
五 测试某次会话中通过超链接打开的新页面属于同一次会话


 


 
 
六 测试只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时,属于同一次会话


 
 
七 测试通过调用session.invalidate()方法对session进行销毁
在代码中调用session.invalidate();//销毁当前会话
 
八 Tomcat超时时间设置方法


 
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
        xmlns="http://java.sun.com/xml/ns/javaee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        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后台管理方法


 
  • 大小: 69.4 KB
  • 大小: 127.3 KB
  • 大小: 48 KB
  • 大小: 117.2 KB
  • 大小: 40.8 KB
  • 大小: 37.1 KB
  • 大小: 87.8 KB
  • 大小: 105.5 KB
1
0
分享到:
评论

相关推荐

    session生命周期的设置

    Session生命周期的设置是管理用户会话的关键环节,它决定了一个Session对象从创建到失效的时间间隔。本篇将深入探讨Session的工作原理、生命周期以及如何进行有效设置。 一、Session的工作原理 Session的工作基于...

    hibernate session生命周期示例

    本示例将深入探讨Hibernate Session的生命周期及其使用,帮助你更好地理解和运用这个强大的工具。 Hibernate Session是Hibernate的核心接口,它是与数据库交互的主要接口。Session对象负责管理实体对象的状态,包括...

    xfire开发的带session生命周期的webservice应用工程实例

    本项目实例旨在演示如何利用XFire来开发一个带有Session生命周期管理的Web服务。 首先,让我们深入了解XFire。XFire(现已被Apache CXF所取代)是一个轻量级的Web服务框架,它提供了快速、简单地创建和部署Web服务...

    c#.net配置Session的生命周期.rar(视频)

    通过Ex01_05视频教程,你将详细学习到如何在实际项目中配置和管理C#.NET的Session生命周期,包括设置超时、选择存储模式以及优化Session使用等技巧。这将有助于你更好地理解Session在Web开发中的角色,从而提升应用...

    关于PHP5 Session生命周期介绍

    首先,Session生命周期的起点是生成一个Session ID。这个ID通常在用户首次访问服务器时由服务器生成,并且是随机的,以便每个用户的Session ID都是唯一的。Session ID的生成可以使用PHP内置的函数,比如session_id()...

    使用监听器跟踪session的生命周期和session的属性

    以下是关于使用监听器跟踪Session生命周期和属性的详细解释。 1. **HttpSessionListener**: - `HttpSessionListener` 是Servlet API提供的一种接口,用于监听HttpSession对象的创建和销毁事件。 - 当一个新的...

    过滤器对于session周期的控制

    在探讨如何通过`OpenSessionInViewFilter`来有效管理Hibernate中的Session生命周期之前,我们需要先理解Session及其生命周期的基本概念。 #### Session与生命周期 在Hibernate框架中,`Session`是执行数据库操作的...

    创建多种生命周期的DataSnapServer

    本话题主要关注DataSnap Server的三种生命周期:Invocation生命周期,Session生命周期,以及Server生命周期。我们将深入探讨这些概念,并结合提供的文件名称列表来解析它们在实际应用中的意义。 首先,我们来看`...

    Session浅析

    2. Session生命周期: 新的浏览器窗口开启会启动一个新的Session,并可能触发`Global.asax`中的`Session_Start`事件。同一浏览器窗口内的多个页面请求不会创建新Session。Session过期后,即使页面提交,也会触发新...

    session监听小例子

    这两个接口提供了对Session生命周期事件的监听方法: 1. `HttpSessionListener`: 包含两个方法,`sessionCreated(HttpSessionEvent se)`用于监听Session创建事件,`sessionDestroyed(HttpSessionEvent se)`用于监听...

    Hibernate-nosession

    然而,有些情况下我们并不需要完整的Session生命周期,比如执行只读操作或者简单的数据检索。在这种情况下,使用Hibernate-nosession模式可以避免创建和管理Session的开销,从而提高应用性能。nosession模式并不意味...

    session、viewstate jQuery SQL存储过程等一系列教学网站 相当实用哦

    #### 三、Session的生命周期 1. **创建**:当用户首次访问应用时。 2. **使用**:在整个会话过程中,可以读取和修改Session中的数据。 3. **销毁**:通常情况下,Session会在一定时间后自动失效,也可以手动销毁。 ...

    session在httphandler失效

    3. **调整Session生命周期**:可以通过修改`&lt;sessionState&gt;`元素的`timeout`属性来延长或缩短Session的有效时间。 4. **检查配置**:核对web.config中的Session配置,确保它们符合预期。 5. **修正IIS设置**:检查...

    PHP程序设计-3期(KC016) 3.12.3销毁session常见问题.docx

    这可能是因为服务器上的Session生命周期设置过长,或者由于使用了持久化Cookie。解决方法是设置合理的Session生命周期,并在必要时清除用户的Cookie: ```php // 设置 Session 生命周期为 30 分钟 ini_set('session...

    phpcms web发布session过期问题解决

    如果session过期,通常是因为设置的session生命周期已到达,或者是由于某些原因session数据被清除。 在phpcms中,session配置可以在`config.php`或`phpcms/inc.php`等配置文件中找到。可以调整以下参数来解决...

    6_session对象

    - **Session生命周期**:从用户第一次访问网站开始,直到会话结束或超时为止。 - **安全性**:由于`session`信息存储在服务器端,因此相比客户端的`cookie`而言更加安全。 - **资源消耗**:尽管`session`提高了安全...

    session过期处理

    1. **Session生命周期**:默认情况下,Session的生命周期大约为30分钟,即用户在30分钟内无操作,Session就会被服务器自动销毁。这个时间可以通过`setMaxInactiveInterval()`方法在服务器端进行设置。 2. **检测...

    session的生命周期1

    以下是对`Session`生命周期、何时失效以及对浏览器要求的详细解释。 ### Session的生命周期 1. **创建**:当用户首次访问包含JSP、Servlet等动态内容的网页时,服务器会检查是否存在当前用户的`Session`。如果没有...

    c#实现cookie和session的登陆实例

    - 设置适当的Cookie和Session生命周期,防止长期有效的登录令牌被滥用。 6. **最佳实践**: - 考虑使用更现代的身份验证机制,如JWT(JSON Web Tokens),它们可以提供更安全、更灵活的用户认证方案。 通过以上...

Global site tag (gtag.js) - Google Analytics