五大域对象JAVA_【java技术】Java 四大域对象总结

0818b9ca8b590ca3270a3433284dd417.png

Java 四大域对象总结

Java四大域对象包含: PageContext,Request,Session,ServletContent

1

总体概述

PageContext:在本页面中有效;

Request:在一次请求及转发的Servlet中有效;

Session:在一次会话中有效,直到超时及销毁;

ServletContent:在整个web应用有效,生命周期为Web运行期间;

下面是针对四个域对象,在生命周期,作用范围和作用 3方面上面的一些区别;

2

PageContext 域

pageContext:指当前页面。在一个jsp页面里有效 ;

生命周期:当对JSP的请求时开始,当响应结束时销毁。

作用范围:整个JSP页面,是四大作用域中最小的一个。

作用:

(1)通过pageContext获取其它八大隐式对象。

getexception方法返回exception隐式对象

getpage方法返回page隐式对象

getrequest方法返回request隐式对象

getresponse方法返回response隐式对象

getservletconfig方法返回config隐式对象

getservletcontext方法返回application隐式对象

getsession方法返回session隐式对象

getout方法返回out隐式对象

(2)获取其所有域中的数据

pageContext 操作所有域中属性的方法

public java.lang.Object getAttribute(java.lang.String name,int scope)

public void setAttribute(java.lang.String name, java.lang.Object value,int scope)

public void removeAttribute(java.lang.String name,int scope)

pageContext 中代表域的常量

PageContext.APPLICATION_SCOPE

PageContext.SESSION_SCOPE

PageContext.REQUEST_SCOPE

PageContext.PAGE_SCOPE

findAttribute方法,在四大域中搜寻属性,搜寻的顺序是page域、request域、session域、application域.

(3)跳转到其他资源,其身上提供了forward和include方法,分别简化和替代requestdispatcher.forward方法和include方法。

3

Request 域

Request:指从http请求到服务器处理结束,返回响应的整个过程。在这个过程中使用forward方式跳转多个jsp。在这些页面里你都可以使用这个变量.

1、生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。

2、作用范围:整个请求链(请求转发也存在)。

3、作用:在整个请求链中共享数据。最常用到:在Servlet 中处理好的数据交给Jsp显示,此时参数就可以放置在Request域中带过去。

4

Session 域

Session:有效范围当前会话,从浏览器打开到浏览器关闭这个过程。

1、生命周期:在第一次调用 request.getSession() 方法时,服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。

session什么时候销毁和怎么销毁:

①当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。

②如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。

③如果调用session提供的invalidate() ,可以立即销毁session。

注意:服务器正常关闭,再启动,Session对象会进行钝化和活化操作。同时如果服务器钝化的时间在session 默认销毁时间之内,则活化后session还是存在的。否则Session不存在。  如果JavaBean 数据在session钝化时,没有实现Serializable 则当Session活化时,会消失。

2、作用范围:一次会话。

5

ServletContext

ServletContext:WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。

1、生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭或Web应用被移除时,ServletContext对象跟着销毁。

2、作用范围:整个Web应用。

3、作用:

① 在不同Servlet 之间转发

this.getServletContext().getRequestDispatcher("/servlet/TestServlet").forward(request, response);

方法执行结束,service就会返回到服务器,再有服务器去调用目标servlet,其中request会重新创建,并将之前的request的数据拷贝进去。

②读取资源文件。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值