分享

JSR 168 翻译02

 cecho 2006-12-21

2.3.        什么是Portlet 容器?

 Portlet 容器可以运行portlets 并提供她们需要的运行时环境。一个Portlet 容器容纳Portlets 并管理她们的生命周期。

 容器也为Portlet “喜好参数提供持久存储。一个Portlet 容器由Portal 收到请求,把请求交给负责的Portlets 去执行。

 Portlet 容器不负责聚合portlets 生成的内容。这个由Portal 来负责处理。

 一个Portal 和一个Portlet 能够构造成一个应用套件的一个单独的构件,或者作为一个Portal 应用的两个分开的构件。

 2.4.        一个示例

 下边的典型事件序列,由用户连接到她的portal 页面开始:

 l        一个通过了认证的客户端(如一个网页浏览器)向portal 产生一个HTTP 请求

 l        Portal 收到这个请求

 l        Portal 确定这个请求包含的动作目标是给Portal 页面上哪一个关联的portlet

 l        如果有一个动作目标是给某个portlet 的,portal 要求Portlet 同去调用这个Portlet 来处理这个动作

 l        Portal 通过Portlet 容器调用Portlet ,获得包含在结果Portal 页面中内容片。

 l        Portal 聚合页面中Portlets 的输出,并将页面发回给客户端。

 2.5.        Portlet规范和J2EE 的关系

 Portlet apr 1.0版是基于J2EE 1.3.Portlet  s容器和PORTLETS符合J2EE规范描述的需求,能够运行在J2EE环境中.

 在名字和概念上,Portlet Servlet (定义在Servlet 2.3 规范中)很类似。

 3.    Portlet规范与Servlet规范的关系

 Servlet 2.3 规范对Servlets 的定义是这样的:

Servlet 是一种基于Java 技术的,由容器管理的,能够生成动态内容的Web 组件。像其他一些Java 组件,Servlets 是一些平台无关的Java 类,能够被编译成平台独立的字节码。并且能够动态的被装载并运行在Java 功能的Web 服务器(这样的Web 服务器容器也叫做Servlet 引擎,能够使Web 服务器扩展提供Servlet 功能)。Servlet 容器实现了请求/响应的模式,Servlets 可以和Web 客户端通过这样的模式交互”

 Portlets Servlets 有下列相似之处:

 l        Portlets 是基于Java 技术的Web 组件

 l        Portlets由专门的容器来管理

 l        Portlets 可以生成动态的内容

 l        容器管理Portlets 的生命周期

 l        Portlets Web 客户端通过“请求/响应”的模式来交互

 Portlets Servlets 的不同之处有以下几方面:

 l        Portlets 生成一些标记语言的标记片断,而不是整个文档。由Portal 聚合这些Portlet 标记片形成一个完整的Portal 页面。

 l        Portlets 不直接绑定到一个URL

 l        Web 客户端是通过Portal 系统与Portlets 交互

 l        Portlets 更精确的就行请求的响应,处理和提交

 l        Portal 页面中,Portlets 有预定义好的Portlet 模式和窗口状态来指出当前Portlet 执行的是什么功能

 l        Portlets 能够在Portal 页面中存在多次

 Portlets 能够具有Servlets 不能提供的一些额外功能:

 l        Portlets 可以有访问持久存储的配置和客户定制数据的能力

 l        Portlets 可以访问用户描述信息

 l        Portlets URL 重写功能来在它的内容中创建超级链接,这样就可以允许Portal 服务器在页面片中不可知的创建链接和处理

 l        Portlets 能够在两个不同的范围内,在 Portlet session 中暂时存储一些数据:应用范围内和Portlet 私有范围

有一些Servlet 的功能,Portlet 并不具备

l        在响应中设置字符编码

l        在响应中设置HTTP 头信息

l        没有客户端可以请求的URL

因为这些不同,专家组决定需要一种新的Portlet 组件,因此,Portlet 并不是Servlet,将为Portlets定义清晰的接口和行为。

为了尽可能的重用现有的Servlet 基础结构,有可能的情况下,Portlet 规范使用了一些Servlet 规范提供的功能。比如包括了:部署、类装载、Web 应用、Web 应用生命期管理、Session 管理和请求分派。大量的概念和Portlet API 的内容都仿照了Servlet API

PortletsServlets JSPs 捆绑在一起作为一个扩展Web 应用就叫做 Portlet 应用。PortletsServlets JSPs 在同一个Portlet 应用中共享类装载器、应用context session

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多