`

java web session设置

    博客分类:
  • J2EE
 
阅读更多


在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值代替),用于会话管理。
分享到:
评论

相关推荐

    java web Session 详解

    java web Session 详解

    java web session跨域共享(redis)

    Java Web中的Session跨域共享问题通常出现在分布式系统或者微服务架构中,多个Web服务器需要共享用户的登录状态。在传统的单体应用中,Session是存储在单一服务器上的,但随着技术的发展,应用程序往往被拆分为多个...

    Java关于session的详细解释

    在Java Web开发中,Session是一种常用的技术,用于跟踪用户的会话状态。简单来说,Session就是服务器为特定用户分配的一块内存区域,用来存储该用户在与服务器交互过程中产生的各种信息(如登录状态、购物车商品等)...

    java_session共享配置.jar

    Java_session共享配置主要涉及到Web应用中的会话管理,特别是如何在多服务器环境下保持用户会话的一致性。这里提到的几个jar文件是实现这一目标的关键组件。下面将详细讲解每个文件的作用及其背后的原理。 首先,`...

    java设置session过期时间的实现方法

    当同时存在代码中的Session设置和部署描述符中的全局设置时,遵循以下优先级: 1. **程序中的设置优先于配置**:如果在代码中使用`setMaxInactiveInterval()`设置了Session的过期时间,那么这个设置会覆盖部署描述...

    Java Web 整合开发 完全自学手册 源代码

    Listener则监听Web应用的特定事件,如session的创建、销毁等。掌握这两者的配置和实现。 9. **Web Services**:理解SOAP和RESTful两种Web服务的原理,使用JAX-WS和JAX-RS创建和调用Web服务。 10. **Spring框架**:...

    Java web 交友网站

    【Java Web 交友网站】是一个基于Java技术实现的在线社交平台,主要面向初学者提供学习和实践的机会。这个项目的核心是使用Java Web技术栈来构建一个功能完善的交友系统,其中包括用户注册、登录、个人信息管理、...

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

    本文将详细介绍Java中设置session超时(失效)的三种方法:在web容器中设置、在工程的web.xml中设置、通过java代码设置。 首先,了解session超时的概念。在Web应用中,session是指一个用户从开始浏览到离开应用这段...

    Java Web开发实践教程源码ch10

    实践教程可能教你如何在Eclipse或IntelliJ IDEA这样的IDE中创建、运行和调试Java Web项目,包括设置Tomcat服务器、导入项目和运行Web应用。 9. **测试** 开发过程中,单元测试和集成测试是必不可少的。本章可能...

    java session

    在Web开发中,`Java Session`是用于跟踪用户会话的一种机制。它主要用于处理客户端与服务器之间的交互过程中所产生的状态信息,例如用户的登录状态、购物车信息等。在Java Web应用中,主要通过`javax.servlet....

    Java Web应用开发项目教程[聂明][电子教案]

    此外,教程还将涵盖Java Web中的会话管理,如使用session对象存储用户信息,以及Cookie的使用,两者都是在Web应用中实现用户状态跟踪的重要手段。同时,还会涉及数据库操作,如使用JDBC(Java Database Connectivity...

    Java 使用HttpClient保持SESSION状态

    在处理Web应用程序时,有时我们需要保持用户的登录状态,即SESSION状态。这通常涉及到Cookie管理,因为服务器通过Cookie来跟踪客户端的会话。下面我们将详细探讨如何在Java中使用HttpClient来实现这一目标。 首先,...

    java web开发实战1200例第i卷

    5. **过滤器和监听器**:这两个组件是Java Web中的重要部分,过滤器可以对HTTP请求和响应进行拦截和修改,监听器则可以监听Web应用的特定事件,如session创建或销毁。例子可能展示如何配置和使用它们。 6. **请求...

    JAVA通过Session和Cookie实现网站自动登录的技术

    Session 和 Cookie 是两种常用的Web开发技术。Session 是一种服务器端的存储机制,用于存储用户的会话信息。Cookie 是一种客户端的存储机制,用于存储用户的信息。在网站开发中,Session 和 Cookie 广泛应用于实现...

    深入分析java web

    8. **会话管理**:包括Cookie、Session等技术,用于在Web请求之间保持用户状态。 9. **过滤器和监听器**:它们是Java Web中的重要组件,用于拦截请求、响应,实现如日志记录、权限控制等功能。 10. **Web安全**:...

    Java Web整合开发王者归来

    书中的章节设置系统而全面,旨在帮助读者逐步掌握Java Web开发的核心技能。 1. 入门篇:这部分通常会介绍Java Web开发的基本概念,包括Web应用程序的运行环境,如Tomcat服务器的安装与配置,以及Java Servlet和JSP...

    MLDN Java Web 开发实战经典源码李兴华源代码

    监听器则监控Web应用中的特定事件,如session创建、销毁等。 6. **Ajax与JavaScript**:在现代Web应用中,Ajax技术提升了用户体验,通过异步方式更新部分页面。配合JavaScript,可以实现丰富的前端交互效果。 7. *...

    JAVA的SESSION精准统计

    2. **Session过期与清理**:为了防止Session内存泄漏,Web应用服务器通常会设置一个Session的超时时间。超过这个时间,Session应该被清除,对应的计数器也需要减少。这就需要我们在Session监听器中实现逻辑,当...

    java Web课件完整版

    8. **Filter和Listener**:在Java Web中,过滤器(Filter)可以拦截请求和响应,监听器(Listener)可以监听特定的事件,如session的创建和销毁。 9. **Ajax**:异步JavaScript和XML,允许部分页面更新,提高用户...

    java后台请求http并保持Session

    在Java编程中,后台请求HTTP并保持Session是一个常见的任务,特别是在需要访问受保护的Web资源时,例如登录后的网页数据。下面将详细讲解这个过程,包括GET和POST方法的使用,以及Session管理。 首先,我们需要了解...

Global site tag (gtag.js) - Google Analytics