【web开发】四个域对象

一、域对象

范围由小到大:page   request   session   application

servlet的那4个域分别对应的是4个Class(详见api,javax.servlet.jsp.PageContext)
page--PageContext
request--HttpServletRequest
session--HttpServletSession
application--ServletContext

request,session,application都是基于page扩展的对象
所以可以根据page(pageContext)来获取任一一个域的对象
getPage()
getRequest()
getSession()
getServletContext()

每个域对象都提供了setAttribute getAtribute的方法 ,用于保存各自存储属性的范围
getPage().getAttribute()/setAttribute()
getRequest().getAttribute()/setAttribute()
getSession().getAttribute()/setAttribute()
getServletContext().getAttribute()/setAttribute()

二、实例

ServletContext的测试代码及结果:

设置属性的代码如下:

获取属性的代码如下:

测试结果:

Session类:

    生命周期:第一次调用request.session()方法时,服务器会检查是否已经有对应的session,如果没有,就在内存中创建一个session,并返回。当一段时间内session没有被使用(默认为30分钟),则服务器会销毁该session。如果服务器非正常关闭(强行关闭),没有到期的session也会跟着销毁。

作用:一次会话。

测试代码:

测试结果:

PageContext类:

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

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

作用:(1)获取其它八大隐式对象,可以认为是一个入口对象。

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

Request类:

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

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

作用:在整个请求链中共享数据。

最常用到:在Servlet中处理好的数据交给Jsp显示,此时参数就可以放置在Request域中带过去。

猜你喜欢

转载自blog.csdn.net/xiaren_1988/article/details/103684544