JavaWeb四大域对象详解

Java (31) 2024-02-16 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说JavaWeb四大域对象详解,希望能够帮助你!!!。

JavaWeb四大域对象详解_https://bianchenghao6.com/blog_Java_第1张

一.介绍

在JavaWeb中存在四大域对象,根据它们的作用范围从小到大,分别是PageContext、Request、Session 、application。下面主要针对作用范围,生命周期进行介绍。

二. PageContext

a. 作用范围

PageContext在jsp中,是作用范围最小的一个;所用范围仅限于当前的jsp页面,对于在servlet中无法获取该对象。

b. 生命周期

对jsp请求时,生命周期开始;响应后,生命周期结束销毁。

三. Request

a. 作用范围

相对于PageContext次之,仅限同一个请求,主要用于请求转发。

b.生命周期

在service 方法调用前由服务器创建开始;在整个请求结束,生命周期结束销毁。

四. Session

a. 作用范围

相对于Request次之,仅限于一次会话,会话从浏览器打开开始,关闭时结束;在servlet中获取方式是通过request对象获取。

b. 生命周期

在第一次调用 request.getSession() 方法时开始,服务器会检查是否已经有对应的session,如果没有就在内存 中创建一个session并返回;若设置了session失效时间,则到时间则失效,同时关闭浏览器则销毁失效(注:失效时间没到,关闭浏览器,也会强制失效)

五. Application

a. 作用范围

作用范围最大,范围限于当前web应用;只要在一处设置的属性,其它各处的jsp或者是servlet都可以获取,同时在servlet中对应的是ServletContext对象

b. 生命周期

在Web应用被加载进容器时创建代表整个web应用的ServletContext对象,在服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。

六. 作用域中操作属性的相关方法

void setAttribute(String name, Object o)

设置属性

Object getAttribute(String name)

根据name获取指定属性

Enumeration getAttributeNames()

获取所有属性

void removeAttribute(String name)

根据name移除指定的属性

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

发表回复