`

对JavaEE中session的理解

 
阅读更多

博客分类: JavaEE
javaJaveEEwebsession


          在做网站开发的时候,我们经常会用到session对象,下面我来谈谈对session的理解;

          Java Servlet API引入session 机制来跟踪客户的状态,session指的是在一段时间内,单个客户和web

服务器之间一连串的交互过程,在一个session中,一个客户可能会多次请求同一个网页,也可能请求多个不同服务器资源,例如:在一个邮件系统应用中,从一个客户登录到邮件系统,到写信,收信和发信等,到最后退出邮件系统,整个过程为一个session;再例如:大家在网上购物的时候,从购物到最后的付款,整个过程也是一个session 。

        session对像是jsp中的内置对象,可以直接使用;在Servlet中使用session时,必须先创建出该对象,Servlet中创建session的方法:

HttpSession session=request.getSession();或   HttpSession session=request.getSession(boolean value);

        在服务器上,通过session ID来区分每一个请求服务器的用户,用户只要一连接到服务器,服务器就会为之分配一个唯一的不会重复的session ID,session ID由服务器统一管理,人为不能控制

      session中的主要方法:

session.getId();//获取session ID,长度为32位
session.isNew();//判断是否是新建立的session



session.getCreationTime();//获取session创建的时间  

session.getLastAccessedTime();//获取用户最后操作时间
sesson.setAttribute(String key,Object value);//将对象存到session中   



session.getAttribute(String key);//获取session中存的Object对象  

session.removeAttribute(String key);//将键值为key的对象从session中删除
        session的销毁

web容器关闭或重启,session会死亡
调用session.invalidate();方法,强制session死亡
前后两次请求超过了session指定的生命周期时间,默认为30分钟,我们可以通过在web.xml文件中进行如下配置:
Xml代码 
<session-config> 
      <session-timeout>5</session-timeout> 
</session-config> 

<session-config>
      <session-timeout>5</session-timeout>
</session-config> 也可以调用session.setMaxInactiveInterval(int intelval);方法来设置,单位为秒。




补充:session与cookie的区别

session将信息保存在服务器上,cookie保存在客户端上
session比cookie更安全,session比cookie更占资源
session使用cookie的机制,如果cookie被禁用,那么session也无法使用,因为session ID是以cookie的形式保存在客户端的内存当中

分享到:
评论

相关推荐

    javaee-Session持久化小结

    这篇名为"javaee-Session持久化小结"的文章可能涵盖了如何在JavaEE应用中实现Session的创建、管理和持久化。 首先,Session的创建通常是通过HttpSession接口的`getSession()`方法完成的。当用户首次访问服务器时,...

    SharePreference类似于JavaEE中的session

    SharePreferences与JavaEE中的session有某些相似之处,但它们的本质和用途有所不同。在这个讨论中,我们将深入理解这两个概念,并探讨它们在各自领域的应用。 首先,SharePreferences是Android提供的一种轻量级的...

    Javaee 中文开发文档

    在学习过程中,你可以通过《JavaEE中文开发文档》的CHM文件深入研究每一个主题,理解其概念、API用法以及实际应用案例。CHM文件是一种常见的帮助文档格式,其中包含了丰富的索引和搜索功能,方便快速查找所需信息。...

    javaee中文文档

    在学习过程中,应注重理论与实践相结合,尝试搭建JavaEE环境,按照文档中的示例编写代码,以加深对每个组件的理解。此外,了解并熟悉相关的开发工具,如IDEA、Eclipse或NetBeans,它们都提供了对JavaEE的良好支持,...

    javaEE 中文API.chm

    JavaEE(Java Platform, Enterprise Edition)是Java技术在企业级应用开发中的标准,它提供了一系列框架和服务,用于构建分布式、多层的企业级应用程序。这个"javaEE 中文API.chm"文件显然是一份中文版的JavaEE API...

    javaee中核心jar包

    JavaEE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一个标准和框架。它提供了一系列的API和服务,...通过理解并熟练运用这些API,开发者可以高效地开发出稳定、可扩展的JavaEE应用。

    JavaEE期末复习模拟题

    10. **Filter和Listener**:在JavaEE中,Filter用于拦截和处理HTTP请求,而Listener监听特定的事件,如session创建或销毁。 11. **部署描述符**:如web.xml和ejb-jar.xml,它们定义了应用的配置信息,包括组件的...

    javaee中文api

    JavaEE中文API则提供了这些规范的中文文档,对于中文使用者来说,理解和学习JavaEE技术更加方便。 JavaEE的主要组成部分包括: 1. **Servlet**:Servlet是Java编程语言中的一个接口,用于扩展服务器的功能。它处理...

    javaee_api.zip_JavaEE_Javaee的api_Javax.javaee-api_javaee api 文档_

    JavaEE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级应用的一套标准规范和API。这个"javaee_api.zip"文件包含的是...通过深入学习和理解JavaEE API,开发者可以更高效地开发出满足企业需求的系统。

    javaee课程源代码

    JavaEE,全称为Java Platform, Enterprise Edition,是Java平台企业版的简称,是一个用于开发企业级应用程序的框架。...通过阅读和运行这些代码,学习者可以加深对JavaEE各组件的理解,提高实际开发能力。

    JAVAEE_api_中英文对照版

    此压缩包“JAVAEE_api_中英文对照版”提供了一个宝贵的资源,帮助开发者理解和使用Java EE中的各种组件和接口。 在Java EE API中,最重要的部分包括: 1. **Servlet**:Servlet是Java编程语言中的一个接口,用于...

    JavaEE Struts2利用tokenSession防止重复提交

    总结,Struts2的tokenSession机制是JavaEE Web开发中防止重复提交的有效手段,通过生成并校验token,确保每个请求的唯一性,从而保护了业务数据的完整性。在实际项目中,我们需要正确配置和使用这个机制,以提高应用...

    JAVAEE 中英对照

    JAVAEE API 中英文对照文件是开发者的重要参考资料,帮助理解并使用JAVAEE的各种组件和服务。 1. **Servlet**: Servlet是JAVAEE中的核心组件之一,它是Java编写的服务器端程序,主要用于扩展服务器的功能,处理HTTP...

    javaee中文API

    这个“javaee中文API”文档涵盖了以上所有模块的详细说明,对于理解每个接口、类和方法的功能,以及如何在实际项目中使用它们,都是极其宝贵的参考资料。开发者可以通过查阅这份文档,快速找到对应的技术点,提高...

    JAVAEE中文版(最新)

    这个"J2EE中文API.CHM"文件包含的详细文档可以帮助开发者快速理解和使用这些API,从而更高效地进行JavaEE应用的开发工作。对于初学者,可以按照章节顺序逐步学习,对于有经验的开发者,可以在遇到问题时迅速查找到...

    JavaEE项目案例源码

    【JavaEE项目案例源码】是一个典型的Web开发实践...以上就是【JavaEE项目案例源码】所涵盖的主要知识点,通过学习和实践这个案例,开发者能够提升自己在JavaEE平台上的Web应用开发能力,对整个开发流程有更深入的理解。

    JavaEE Hibernate多对多简单示例

    在JavaEE应用中,多对多关系通常通过中间表(或称为关联表)来实现,该表包含两个实体的主键作为外键。让我们深入了解一下这个简单的Hibernate多对多示例。 首先,我们需要定义两个实体类,例如`Student`和`Course`...

    简单的javaee大作业

    通过完成这个作业,你可以了解JavaEE开发的基本流程,掌握如何使用Servlet、JSP、EJB等工具搭建一个简单的Web应用,并对数据库操作和事务管理有初步理解。在实践中不断学习和提升,为更复杂的JavaEE项目打下坚实的...

    JavaEE-Turorial-源码

    JavaEE-Turorial-源码 是一套专门为学习Java企业级应用开发提供的教程源代码,它与《JavaEE-Turorial-教材》配套使用,旨在帮助开发者深入理解JavaEE平台的各种技术,并通过实际操作来提升技能。JavaEE(Java ...

    JavaEE

    4. **EJB(Enterprise JavaBeans)**:EJB是JavaEE中的企业级组件模型,包括会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-Driven Beans)。这些bean提供了事务管理、安全性和持久化...

Global site tag (gtag.js) - Google Analytics