简述Java Web三大作用域对象

时间:2020-8-29 作者:admin


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使用相对较少。

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。