JavaWeb有ServletContext、ServletRequest、HttpSession、PageContext(JSP)四大域对象,下面主要从域对象的生命周期、作用、作用范围进行介绍。
-
ServletContext
1)生命周期:当Web应用被加载进容器时创建代表整个web应用的ServletContext对象,当服务器关闭 或Web应用被移除时,ServletContext对象跟着销毁。2)作用范围:整个Web应用(应用范围)。
3)作用:多个Servlet通过ServletContext对象实现数据共享。
获取web应用的初始化参数(getInitParameter)。
用ServletContext实现请求转发(this.getServletContext().getRequestDispatcher().forward())。
利用ServletContext对象读取资源文件。 -
ServletRequest
1)生命周期:在service 方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束。2)作用范围:(请求范围)整个请求链(请求转发也存在)。
3)作用: 在整个请求链中共享数据。最常用到:在Servlet 中处理好的数据交给Jsp显示,此时参数就可以放置在Request域中带过去。 -
HttpSession
HttpSession 在服务器中,为浏览器创建独一无二的内存空间,在其中保存会话相关的信息。
作用范围:一次会话。
具体作用:见另一篇session博文。 -
PageContext
1)生命周期:当对JSP的请求时开始,当响应结束时销毁。
2)作用范围:(页面范围)整个JSP页面,是四大作用域中最小的一个。
pageContext对象封装了8大隐式对象,通过它可以获得其它的8个对象。
getException()返回Exception。
getPage()返回Page。
getRequest()返回request。
getResponse()返回response。
getServletConfig()返回config。
getServletContext()返回application。
getSession()返回session。
getOut()返回out。