`

Java Web开发Session超时设置

阅读更多

 

在Java Web开发中,Session为我们提供了很多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就不存在了。

 

设置Session超时时间方式:

方式一:
 在web.xml中设置session-config如下:
 <session-config>
  <session-timeout>2</session-timeout>
 </session-config>
 
 即客户端连续两次与服务器交互间隔时间最长为2分钟,2分钟后session.getAttribute()获取的值为空
 
 API信息:
  session.getCreationTime()   获取session的创建时间
  session.getLastAccessedTime()  获取上次与服务器交互时间
  session.getMaxInactiveInterval() 获取session最大的不活动的间隔时间,以秒为单位120秒。
  
方式二:
 在Tomcat的/conf/web.xml中session-config,默认值为:30分钟
 <session-config>
        <session-timeout>30</session-timeout>
    </session-config>
 
方式三:
 在Servlet中设置
  HttpSession session = request.getSession();
  session.setMaxInactiveInterval(60);//单位为秒

说明:
 1.优先级:Servlet中API设置 > 程序/web.xml设置 > Tomcat/conf/web.xml设置
 2.若访问服务器session超时(本次访问与上次访问时间间隔大于session最大的不活动的间隔时间)了,即上次会话结束,但服务器与客户端会产生一个新的会话,之前的session里的属性值全部丢失,产生新的sesssionId
 3.客户端与服务器一次有效会话(session没有超时),每次访问sessionId相同,若代码中设置了session.setMaxInactiveInterval()值,那么这个session的最大不活动间隔时间将被修改,并被应用为新值。
 4.Session的销毁(代表会话周期的结束):在某个请求周期内调用了Session.invalidate()方法,此请求周期结束后,session被销毁;或者是session超时后自动销毁;或者客户端关掉浏览器
 5.对于JSP,如果指定了<%@ page session="false"%>,则在JSP中无法直接访问内置的session变量,同时也不会主动创建session,因为此时JSP未自动执行request.getSession()操作获取session。

 

总结:

       在程序开发过程中,我们可以在客户端每次与服务器交互时检查SessionID(Session中属性值,非HttpServlet环境开发中也可以用其它的Key值代替),用于会话管理。

 

 

分享到:
评论

相关推荐

    weblogic设置session超时时间

    WebLogic 是一个功能强大且流行的 Java 企业级应用服务器,支持多种方式来设置 Session 的超时时间。在本文中,我们将介绍如何在 WebLogic 中设置 Session 超时时间。 Method 1: 使用 web.xml 文件 在 Web 应用...

    登录超时完整实例、session超时设置、JSP页面会话超时

    本教程将深入探讨"登录超时完整实例",包括如何进行`session超时设置`以及在`JSP页面`中处理会话超时的问题。 首先,我们需要理解什么是登录超时。登录超时是指用户在一定时间内未进行任何操作,系统自动判断该用户...

    Java中设置session超时(失效)的三种方法

    在Java Web开发中,Session是用于跟踪用户状态的关键机制。当用户访问Web应用程序时,服务器创建一个Session对象,用于存储用户特定的信息,如登录状态、购物车内容等。Session的有效期,即超时时间,决定了在多久无...

    Java Web开发实践教程源码ch10

    学习如何使用session对象来跟踪用户会话,是Java Web开发中的重要一环。在本章中,你可能涉及到会话超时、共享数据和跨页面传递信息等主题。 7. **部署描述符** 部署描述符(如web.xml)是Java Web应用的配置文件...

    Java设置session超时的几种方式总结

    在Web开发中,合理设置session超时对于维护应用的安全性和性能都是很重要的。以下,将详细介绍几种在Java中设置session超时的方法: 1. 在Web容器中设置 在Web应用服务器中设置session超时是最为基本和直接的方法。...

    Java Web开发实战宝典 第17章 01-09

    《Java Web开发实战宝典》是由王国辉等专家编著的一本深入浅出的编程教程,专注于Java Web应用的开发技术。本章内容涵盖了从基础到进阶的多个知识点,旨在帮助读者掌握Java Web开发的核心技能。以下是针对章节17中01...

    JSP Session超时设置的实现方法

    JSP Session超时设置是Java Web开发中的一个重要概念,主要用于管理用户的会话状态。Session是一种在服务器端保存用户信息的技术,允许用户在一段时间内与Web应用进行交互而不需要重新认证。如果用户长时间未与...

    java中使用session模拟用户登陆

    6. **Session超时**:默认情况下,Session会在一段时间无活动后自动失效,防止用户长时间离开电脑而未登出造成的安全问题。可以通过配置web.xml文件调整Session的超时时间。 7. **Session管理**:在大型应用中,...

    Java Web开发详解

    ### Java Web开发详解 #### 一、Java Web开发概述 Java Web开发是一种使用Java语言进行Web应用程序开发的技术。它利用了Java平台的强大功能和跨平台特性,为开发者提供了丰富的工具和框架来构建高效、安全、可扩展...

    J简单的springmvc包括拦截、session设置,超时跳转

    Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它基于Spring框架,提供了模型-视图-控制器(MVC)架构模式,简化了Web应用的开发过程。在这个"简单的springmvc包括拦截、...

    Tomcat与java web 开发技术详解-孙卫琴-第二版-541-761

    在Java Web开发中,理解如何正确地安装Tomcat并设置环境变量是至关重要的第一步。这包括下载适合开发环境的Tomcat版本,配置JAVA_HOME和CATALINA_HOME环境变量,以及设置启动和停止脚本。 其次,Tomcat的目录结构...

    Java中设置session的详细解释

    另外,还可以设置合理的Session超时时间,避免无效Session占用资源。 综上所述,Java中的Session机制是Web开发中重要的状态保持工具,它帮助开发者在HTTP无状态的环境中实现用户会话跟踪,为用户提供连续的服务体验...

    JSPsession超时提示

    ### JSP Session超时提示知识点解析 #### 一、背景介绍 在Web应用程序中,`session` 是一种常用的技术手段,用于保存用户的状态信息。它能够帮助开发者在多个页面请求之间保持用户的数据一致性。然而,为了提高安全...

    session 超时

    知识点一:session超时概念及设置 session超时是指用户在web系统中进行操作时,如果在一定的时间内没有任何操作,系统会自动认为用户已经离开,这时session(会话)会失效,用户下次进行操作时需要重新登录验证身份...

    Javaweb项目session超时解决方案

    在Java Web开发中,Session机制为我们提供了许多方便,Session是由浏览器和服务器之间维护的。Session超时理解为:浏览器和服务器之间创建了一个Session,由于客户端长时间(休眠时间)没有与服务器交互,服务器将此...

    Java Web应用开发项目教程[聂明][程序源代码]

    Java Web应用开发项目教程主要涵盖了使用Java语言进行Web应用程序的构建和实现,这是一门针对初学者和进阶者的设计课程,由知名讲师聂明主讲。教程中的程序源代码可以帮助学习者深入理解每个概念,并在实践中应用。E...

    Java Web程序设计入门课件-Session对象.pptx

    Java Web程序设计是开发基于Java技术的Web应用程序的基础,它涉及到服务器端的编程以及与客户端交互的方式。...在设计Web应用时,需要注意合理设置Session超时时间,平衡用户体验和服务器资源的利用。

    Java Web开发的连接池集

    在Java Web开发中,连接池是一种管理数据库连接的机制,旨在提高应用程序的性能和效率。连接池通过预先创建并维护一定数量的数据库连接,避免了每次需要与数据库交互时都进行连接建立和释放的开销。这个压缩包可能...

Global site tag (gtag.js) - Google Analytics