java简述会话对象的生命周期_简述Java Web三大作用域对象
Java Web三大作用域对象
这三个对象的作用域和生命周期——从上往下依次递增: 上面最小,下面最大。
1、HttpServletRequest——请求对象
HttpServletRequest是生命周期最短的一个对象。
当一个请求送往tomcat时,这个请求就被创建了。当servlet处理完后,产生了响应并且返回给浏览器,则当前请求对象就会被销毁。
可以说request对象是一个瞬时对象,用完就抛弃。
2、HttpSession——用户会话对象
Session对象叫做用户会话对象,用于保存与浏览器窗口所对应的数据。
Session对象是用户第一次发来请求时被创建的,默认情况下如果Session有30分钟没有被访问,那么这个Session对象就会被销毁。
相对来说更加持久的就是HttpSession对象,保存与浏览器所对应的数据、生命周期比request大一些。
误解区:当我们直接关闭浏览器窗口时,Session对象依然存在,只是把浏览器中的Sessionid的cookie给抛弃了。其数据还在tomcat里,默认保留30分钟。
3、ServletContext——Web应用程序全局对象
ServletContext对象解释:Servlet上下文对象,是web应用程序的全局对象。
一个Web应用程序只会创建一个ServletContext对象。
ServletContext随着Web应用程序启动而自动创建、在web应用程序重启或者关闭时会被销毁。
可以说Java Web应用程序的三大作用域对象会伴随着我们的开发从始至终。
另外有些开发建议:
因为作用域是从小到大依次递增的,为了程序维护的需要和资源避免浪费的情况、能用小作用域完成的功能就不要使用大的作用域、以后的开发中request将会是我们打交道最多的对象,至于Session和Context使用相对较少。
java简述会话对象的生命周期_简述Java Web三大作用域对象相关推荐
- python对象的生命周期_(python)通过一个代码例子来分析对象的生命周期 | 学步园...
最近在学习python,看的是<简明python教程>,写的很是通俗易懂. 在一个类和对象的变量的例子中,看到代码运行结果突然想到在python中对象的生命周期的问题,代码运行结果: #! ...
- python对象的生命周期_(python)通过一个代码例子来分析对象的生命周期
最近在学习python,看的是<简明python教程>,写的很是通俗易懂. 在一个类和对象的变量的例子中,看到代码运行结果突然想到在python中对象的生命周期的问题,代码运行结果: #! ...
- java对象什么时候回收_Java对象的生命周期与垃圾回收以及四种引用
创建对象的方式用new语句创建对象. 使用反射,调用java.lang.Class或java.lang.reflect.Constructor的newInstance()实例方法. 调用对象的clon ...
- Java 对象的生命周期
Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段: 创建阶段(Created) 应用阶段(In Use) 不可见阶段(Invisible) 不可达阶段(Unreachable) 收 ...
- Java对象的生命周期与作用域的讨论(转)
导读: Java对象的生命周期大致包括三个阶段:对象的创建,对象的使用,对象的清除.因此,对象的生命周期长度可用如下的表达式表示:T = T1 + T2 +T3.其中T1表示对象的创建时间,T2表示对 ...
- java 对象 jvm生命_JVM对象的生命周期
一旦一个类被装载.连接和初始化,它就随时可以被使用.程序可以访问它的静态字段,调用它的静态方法,或者创建它的实例.作为Java程序员有必要了解Java对象的生命周期. 类实例化 在Java程序中,类可 ...
- java对象的生命周期及回收
在网上看到一篇不错的文章,记录下来备忘. 要理解java对象的生命周期,我们需要要明白两个问题, 1.java是怎么分配内存的 ,2.java是怎么回收内存的. 喜欢java的人,往往因为它的内存自动 ...
- 详谈java类和对象的生命周期
引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告 ...
- java中的的一些生命周期,Java中对象的生命周期
Java中对象的生命周期 (1) 对象生命周期的开始 对象生命周期开始时,需要为对象分配内存,并且初始化它的实例变量: 对象生命周期结束 Java虚拟机的垃圾回收线程回收对象的内存. (2) 创建一个 ...
最新文章
- Redis的KEYS命令引起宕机事件
- Jquery基础:append、prepend、after、before、appendTo的区别
- stm32与arm7比较(经典)
- php manager 怎么用,Windows 2008 R2下如何利用PHPManager对PHP进行配置
- 材料成型计算机模拟第三版,材料成型计算机模拟实验报告模板学习.doc
- 围棋经典棋谱_秀秀老师:茶艺师也要学好围棋
- php 类加载,关于PHP中类的加载
- 就国内某个程序员问答网站的简单的分析
- 刘作虎:一加 8 系列新品将加入无线充电功能
- C++ 字符串复制函数substr
- Intel FPGA 的时序约束
- HDFS体系结构(NameNode、DataNode详解)
- java判断map是否为空_Java自定义Exception
- wpf-容易误解的Image
- 模型预测控制参数调整问题
- 计算机一级如何添加对角线,如何在表格中添加对角线
- java操作Excel表格使用EasyExcel
- 东南亚lazada平台分跨境店和本土店两种,二者的区别都写在这里了
- SPI MOSI和MISO 相位不同
- python代码实现卷积示意图快速制作
热门文章
- 调试Angular指令实现时一个有用的内部属性:__ngContext__
- SAP Spartacus 如何调试待翻译文本的 place holder 和翻译之后的值
- 如何到SAP官网上查询某产品的roadmap - 路线图
- 一个基于ngrx的Angular图书搜索应用,带网络请求
- 什么是SAP HANA Database Procedure(数据库过程)
- SAP云平台上两个ABAP系统实例之间的互连
- Hybris Commerce里的持久层
- 使用Cloud Application Programming模型开发OData的一个实际例子
- 把Hybris安装时输出的日志重定向到一个本地文件中
- SAP Fiori s2 controller init