J2EE摸索者: 隐式对象的多种用法[Java编程]
本文“J2EE摸索者: 隐式对象的多种用法[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本期的 J2EE摸索者是上个月的 精确处理睬话作用域入门 的续篇.除了拜候会话作用域之外,JSP 隐式对象还可以用来处理 HTML 参数,转发恳求到一个 Web 组件,包含组件的内容、通过 JSP 容器的日记数据、掌握输出流,处理非常,等等.
本月,您将学到在 JSP 页面中利用隐式对象.我们首先扼要概括 JSP 架构,此中包含了隐式对象.然后,我将介绍每个对象并描写它的核心功效.最后,我们将给出利用每种范例的对象和它供应的容器管理服务的一些最佳实践.
隐式对象简介
JSP 架构背后的理念是供应一个 Web 组件,它答应开辟人员侧重关注 Web 内容的表示,而不用陷入解析、编程和数据操作等细节.JSP 利用程序本质上是特别的 Web 组件,在处理用户恳求之前,J2EE Web 容器首先将其转换成 servlet.在每个 JSP 利用程序内部有一套完好的隐式对象.
隐式对象使得开辟人员可以拜候容器供应的服务和资源.这些对象之所以定义为 隐式的,是因为您没必要显式地声明它们.不管您能否声明它们――固然您不能 反复声明它们,它们在每个 JSP 页面当中都举行定义,并且在后台由容器利用.因为隐式对象是自动声明的,所以我们只需求利用与一个给定对象相关的引用变量来调用其办法.
9 个隐式对象及其功效的简单描写以下:
Application 是利用范围最广的上下文状况.它答应 JSP 页面的 servlet 与包含在同一利用程序中的任何 Web 组件同享信息.
Config 答应将初始化数据传送给一个 JSP 页面的 servlet.
Exception include 含有只能由指定的 JSP“error pages”拜候的非常数据.
Out 供应对 servlet 的输出流的拜候.
Page 是JSP页面的处该当前恳求的 servlet 的实例.普通来说,JSP 页面作者不利用该对象.
PageContext 是 JSP 页面本身的上下文.它供应惟一一个 API 来管理具有差别作用域的属性.这个 API 在实现 JSP 自定义标志处理程序时利用得非常多.
Request 供应对 HTTP 恳求数据的拜候,同时还供利用于加入特定于恳求的数据的上下文.
Response 答应直接拜候 HTTPServletResponse 对象,JSP 程序员很少利用该对象.
Session 大概是状况管理上下文中利用得最多的对象.“会话”的概念是指单个用户与 Web 利用程序在几个恳求上举行交互.
固然有些隐式对象只供应单一的功效,但是几个结合起来利用便可以供应多种功效.在接下来的一节里,我们将按照功效分类来观察隐式对象:
会话管理: application , session , request , pageContext
流掌握: application , config , pageContext , request , session
日记记录和非常: application , config , exception , pageContext , request , session
输入/输出掌握: request , response , out
初始化参数: config
会话管理
上个月我们提到过,为 JSP 定义的四个隐式对象可以用来在一个特定的上下文大概作用域中加入有状况数据.这四个对象是 application 、 session 、 request 和 pageContext .下表列出了这四个对象和它们定义的状况上下文,同时还给出了对每个对象的简单描写.
表1. JSP 状况管理
隐式对象 | 作用域 | 描写 |
javax.servlet.ServletContext | Application | 代表整个运行时的 Web 模块(利用程序).作用域为 application 的数据在同一个利用程序模块的全部 Web 组件之间同享.这很像J2EE 中供应的“全局(global)”数据 |
javax.servlet.http.HttpSession | Session | 代表当前的 HTTP 会话.除 page 作用域外, session 作用域是利用最广泛的上下文.这个对象在供应跨多个恳求的长期的、有状况的用户体验方面利用得最广泛 |
javax.servlet.http.HttpServletRequest | Request | 代表当前的 HTTP 恳求.这个上下文可以超越多个 Web 组件(servlet 和 JSP 页面),只要这些组件属于同一原子恳求的一部份.由客户机供应的特定于恳求的数据(恳求办法、URI、HTTP 参数等等)都被自动地保存在一个 request 上下文中.servlet 或 JSP 页面还可以程式化地(programmatically)将数据的作用域指定为 request ,以便答应同一 request 作用域中的其他 servlet 或 JSP 页面可以获得该数据 |
javax.servlet.jsp.PageContext | Page | 代表当前 JSP 页面的上下文.因为一个 JSP 页面的上下文包含当前的恳求、会话和利用程序,所以利用 pageContext 实例可以拜候与一个JSP 页面相关的全部命名空间.它是全部对象的默许作用域,包含 JavaBeas 对象在内. 具有 page 作用域的对象普通会绑定到一个部分变量,以便在 scriptlet、表达式、JavaBeans 标志和自定义标志中可以拜候它 |
从最佳实践的态度来看,我们应当尽大概地利用 page 作用域.它简单,并且是 JSP 数据的默许作用域. request 作用域非常合适于运行期间在组件间同享数据以处理一个特定的恳求. session 作用域被计划用来为单个用户供应长期的、有状况的体验,它可以超越多个恳求. application 作用域只有需求在组件之间跨用户会话同享数据时才应当利用.参阅 参考资料以理解更多有关 session 作用域的信息.
以上是“J2EE摸索者: 隐式对象的多种用法[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |