- 浏览: 146493 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (152)
- 异常以及异常处理框架探析 (1)
- java语法 (18)
- 职场生活 (8)
- js前端 (9)
- Tomcat (8)
- java架构 (23)
- .Net (2)
- Linux (4)
- Spring (6)
- Nginx (7)
- 设计模式 (3)
- JVM (4)
- 数据库 (2)
- 智力题 (1)
- SVN (1)
- Maven (3)
- MYSQL (5)
- java线程池2-任务队列的规则 (1)
- 英语学习 (1)
- 面试题 (7)
- MyBatis (2)
- 并发 (3)
- Memcache (2)
- XML (1)
- Hadoop (1)
- Web容器 (1)
- Struts2 (2)
- 产品运营 (1)
- 安全 (1)
- Mongodb (1)
- Shell (0)
- 恋爱 (1)
- 简单对象访问协议 (1)
- mybatis优化(转) (1)
- 算法 (1)
- Redis (2)
- Spring MVC数据绑定大全 (1)
- 错误搜集 (1)
- IDEA (1)
最新评论
-
sunshine_love:
故事里的事说是就是不是也是 故事里的事说不是就不是是也不是 故 ...
在这个变化的年代,IT人的方向在哪里?看两个故事
博客分类: 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的形式保存在客户端的内存当中
发表评论
-
Apache CXF
2014-06-17 10:15 652Apache CXF 编辑 目录 ▪ CXF的关键的设计考虑因 ... -
最全的HTTP状态码,一定要收藏起来
2014-05-17 18:56 470最全的HTTP状态码,一定 ... -
RESTful Webservice 和 SOAP Webserivce 对比及区别
2014-05-17 18:54 957RESTful Webservice 和 SOAP Webse ... -
java网站架构设计
2014-05-07 14:27 571java网站架构设计 2012-12- ... -
基于ZooKeeper的Dubbo注册中心
2014-03-05 04:16 837基于ZooKeeper的Dubbo注册中心 Apr102 ... -
Dubbo zookeeper 初探
2014-03-05 03:54 916Dubbo zookeeper 初探 分类: zo ... -
某大型社区网站系统
2014-02-24 20:51 634某大型社区网站系统 分类: 架构设计 2 ... -
Structs2中配置文件详解-不仅要会用更要理解
2014-02-24 20:24 1009Structs2中配置文件详解-不仅要会用更要理解 ... -
Spring MVC和Struts2的比较
2014-02-19 11:51 647Spring MVC和Struts2的比 ... -
高性能、高流量Java Web站点打造的最佳实践
2013-12-24 18:49 639高性能、高流量Java Web站点打造的最佳实践 博客 ... -
RESTEasy入门
2013-12-04 14:56 780RESTEasy是JBoss的开源项目之一,是一个REST ... -
优化和架构之服务切分
2013-11-26 08:49 458切分是最基本,且最多 ... -
最佳线程数和QPS以及RT
2013-11-20 08:49 1346最佳线程数和QPS以及RT 博客分类: java ... -
Spring中线程池的应用
2013-11-05 21:50 1185Spring中线程池的应用 您的评价: ... -
架构师成长历程:时刻对新技术保持敏感
2013-10-19 01:19 710架构师是一门建立在科 ... -
MyBatis批量大数据测试的一些结果
2013-08-23 04:19 2195MyBatis批量大数据测试的一些结果 博客分类 ... -
webservice注解
2013-08-21 12:00 827webservice注解 博客分类: cxf ... -
WebService开发笔记 1 -- 利用cxf开发WebService竟然如此简单
2013-08-21 11:51 959现在的项目中需要用 ... -
隔离级别
2013-07-22 23:14 593隔离级别 自从知道事务的隔离级别已经很长时 ... -
Bean作用域的配置以及 Spring各种注入方式实例 list set map props
2013-07-12 13:15 612Bean作用域的配置以及 Spring各种注入方式实例 li ...
相关推荐
这篇名为"javaee-Session持久化小结"的文章可能涵盖了如何在JavaEE应用中实现Session的创建、管理和持久化。 首先,Session的创建通常是通过HttpSession接口的`getSession()`方法完成的。当用户首次访问服务器时,...
SharePreferences与JavaEE中的session有某些相似之处,但它们的本质和用途有所不同。在这个讨论中,我们将深入理解这两个概念,并探讨它们在各自领域的应用。 首先,SharePreferences是Android提供的一种轻量级的...
在学习过程中,你可以通过《JavaEE中文开发文档》的CHM文件深入研究每一个主题,理解其概念、API用法以及实际应用案例。CHM文件是一种常见的帮助文档格式,其中包含了丰富的索引和搜索功能,方便快速查找所需信息。...
在学习过程中,应注重理论与实践相结合,尝试搭建JavaEE环境,按照文档中的示例编写代码,以加深对每个组件的理解。此外,了解并熟悉相关的开发工具,如IDEA、Eclipse或NetBeans,它们都提供了对JavaEE的良好支持,...
JavaEE(Java Platform, Enterprise Edition)是Java技术在企业级应用开发中的标准,它提供了一系列框架和服务,用于构建分布式、多层的企业级应用程序。这个"javaEE 中文API.chm"文件显然是一份中文版的JavaEE API...
JavaEE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一个标准和框架。它提供了一系列的API和服务,...通过理解并熟练运用这些API,开发者可以高效地开发出稳定、可扩展的JavaEE应用。
10. **Filter和Listener**:在JavaEE中,Filter用于拦截和处理HTTP请求,而Listener监听特定的事件,如session创建或销毁。 11. **部署描述符**:如web.xml和ejb-jar.xml,它们定义了应用的配置信息,包括组件的...
JavaEE中文API则提供了这些规范的中文文档,对于中文使用者来说,理解和学习JavaEE技术更加方便。 JavaEE的主要组成部分包括: 1. **Servlet**:Servlet是Java编程语言中的一个接口,用于扩展服务器的功能。它处理...
JavaEE(Java Platform, Enterprise Edition)是Java平台上用于构建企业级应用的一套标准规范和API。这个"javaee_api.zip"文件包含的是...通过深入学习和理解JavaEE API,开发者可以更高效地开发出满足企业需求的系统。
JavaEE,全称为Java Platform, Enterprise Edition,是Java平台企业版的简称,是一个用于开发企业级应用程序的框架。...通过阅读和运行这些代码,学习者可以加深对JavaEE各组件的理解,提高实际开发能力。
此压缩包“JAVAEE_api_中英文对照版”提供了一个宝贵的资源,帮助开发者理解和使用Java EE中的各种组件和接口。 在Java EE API中,最重要的部分包括: 1. **Servlet**:Servlet是Java编程语言中的一个接口,用于...
总结,Struts2的tokenSession机制是JavaEE Web开发中防止重复提交的有效手段,通过生成并校验token,确保每个请求的唯一性,从而保护了业务数据的完整性。在实际项目中,我们需要正确配置和使用这个机制,以提高应用...
JAVAEE API 中英文对照文件是开发者的重要参考资料,帮助理解并使用JAVAEE的各种组件和服务。 1. **Servlet**: Servlet是JAVAEE中的核心组件之一,它是Java编写的服务器端程序,主要用于扩展服务器的功能,处理HTTP...
这个“javaee中文API”文档涵盖了以上所有模块的详细说明,对于理解每个接口、类和方法的功能,以及如何在实际项目中使用它们,都是极其宝贵的参考资料。开发者可以通过查阅这份文档,快速找到对应的技术点,提高...
这个"J2EE中文API.CHM"文件包含的详细文档可以帮助开发者快速理解和使用这些API,从而更高效地进行JavaEE应用的开发工作。对于初学者,可以按照章节顺序逐步学习,对于有经验的开发者,可以在遇到问题时迅速查找到...
【JavaEE项目案例源码】是一个典型的Web开发实践...以上就是【JavaEE项目案例源码】所涵盖的主要知识点,通过学习和实践这个案例,开发者能够提升自己在JavaEE平台上的Web应用开发能力,对整个开发流程有更深入的理解。
在JavaEE应用中,多对多关系通常通过中间表(或称为关联表)来实现,该表包含两个实体的主键作为外键。让我们深入了解一下这个简单的Hibernate多对多示例。 首先,我们需要定义两个实体类,例如`Student`和`Course`...
通过完成这个作业,你可以了解JavaEE开发的基本流程,掌握如何使用Servlet、JSP、EJB等工具搭建一个简单的Web应用,并对数据库操作和事务管理有初步理解。在实践中不断学习和提升,为更复杂的JavaEE项目打下坚实的...
JavaEE-Turorial-源码 是一套专门为学习Java企业级应用开发提供的教程源代码,它与《JavaEE-Turorial-教材》配套使用,旨在帮助开发者深入理解JavaEE平台的各种技术,并通过实际操作来提升技能。JavaEE(Java ...
4. **EJB(Enterprise JavaBeans)**:EJB是JavaEE中的企业级组件模型,包括会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-Driven Beans)。这些bean提供了事务管理、安全性和持久化...