400-8550-979
首页 > 技术社区 > Java大数据 > 【java技术】Java 四大域对象总结
【java技术】Java 四大域对象总结
发布时间:2017年10月09日发布:IT培训来源:课工场信狮教育

Java 四大域对象总结

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

Java技术

1总体概述

PageContext:在本页面中有效;

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

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

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

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

2PageContext 域

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方法。

3Request 域

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

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

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

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

4Session 域

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

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

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

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

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

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

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

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

5ServletContext

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的数据拷贝进去。

②读取资源文件。

没有做不到,只有想不到!Java大数据当真有这么神奇?且来一探究竟,深圳信狮教育与课工场联手重磅推出了《大数据开发工程师课程》,想了解更多Java大数据课程内容,请关注“深圳信狮教育”微信公众号:

大数据课程

适用人群:

·具备JavaSE基础或对大数据感兴趣的人群;

·希望学习或提高大数据开发的在职软件工程师零基础也可以参与本次课程的学习。

相关推荐:
人工智能/python+AI
web前端开发
H5+全栈工程师
新媒体营销
搜索引擎营销
电子商务营销
资源分享
申请免费线下基础班试听名额
姓名
电话
课程