`
cjh820425
  • 浏览: 154133 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JSR168标准简介(一)

阅读更多

PLT.2.1 什么是Portal(门户)

 

Portal 的组成可以分为三部份 (1) Portal Server (2) Portlet Container (3) Portlet 

 

1) Portal Server 的定义是

 

一个 Portal(门户网站)就是指一个 Web-based 的系统,通常都会提供个性化设置、单一登陆、以及由各种不同来源或不同网站取得各式各样的信息,并且将这些信息放在网页之中组合而成的呈现平台,门户网站会有精巧的个性化设置去提供定制的网页,当不同等级的使用者来浏览该页面将获得不同的信息内容。

 

2) Portlet Container 的定义是

       portlet container 是提供 portlets 运行时环境,包含了许多 portlets 并且管理他们的生命周期,并负责持久化portlets 的参数信息,一个 portlet container 接收到来自 portal 的请求后,接着将这个请求传递给存在 container 的 portlet 执行。portlet container 没有义务去组合 portlets 产生的信息內容,这个工作必须由 portal 来处理。portal 和 portlet container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。 

PLT.2.2 什么是 Portlet?

 

一个 Portlet 是以 Java 技术为技术的 Web 组件,由 Portlet Container 所管理,专门处理客户的 request 以及产生各种动态的信息内容。Portlets 为可插式 ( pluggable ) 的客户界面组件,提供呈现层成为一个信息系统。

 

这些由 portlet 产生的内容也被称为片段 (fragment),而片段是具有一些规则的Markup( HTMLXHTMLWML ),而且可以和其他的片段组合而成一个复杂的文件。而 Portlet 中的内容正常来说是与其他 Portlet 的内容聚合而成为一个 Portal 网页。而 Portlet 的生命周期是被 Portlet Container 所管理控制的。

 

客户端和 portlets 的互动是由 portal 通过典型的 request/response 方式实现,正常来说,客户会和 portlets 所产生的内容互动,举例来说,根据下一步的连接或者是确认送出的表单,结果 portal 将会接收到 portlet 的动作,将这个处理状况转向到目标 portlet。这些 portlet 内容的产生可能会因为不同的使用者而有不同的变化,完全是根据客户对于这个 portlet 的设置。

PLT.2.3 portlet 与 servlet 的关系?

Portlet 和 Servlet 算是兄弟有那么一点点相似却又有那么一点点不同,因为 Servlet 和 Portlet 不尽然相同,所以研究小組決定将 portlets 定义成为一个新的组件,因此定义了 portlets 一个新的并且明确的界面与行为。为了尽可能与现有的 servlet 结合达到重复使用的目的,portlet 的规范利用了 servlet 的规范,许多观念都很相似的,结合 portletsservlets 及 jsp 在同一个网站系统中,我们称为 portlet application 。在同一个 portlet application 中,他们将分享同一个 classloadercontext 及 session。 

 

1) Portlet 和 Servlet 的相似之处

 

@ portlets 也是 Java 技术的 web 组件@ portlets 也是有特定的 container 在管理@ portlets 可以动态产生各种内容@ portlets 的生命周期由 container 所管理@ portlets 和客户端的互动是通过 request/response 的机制 

 

2) Portlet 和 Servlet 也有一些不同

 

@ portlets 只产生 markup 信息片段,不是完整的网页文件。而 Portal 会将所有的 Portlet markup 信息片段放到一个完整的 Portal 网页。@ portlets 不会和 URL 有直接的关系客户端必须通过 portal 系统才能和 portlets 互动@ portlets 有一些定义好的 request 处理,action request 以及 render request@ portlets 默认定义 portlet modes 及窗口状态可以指出在网页中该 portlet 的哪个功能正在执行及现在的 状态。@ portlets 可以在同一个 portal 网页之中存在多个。 

3) Portlet 有一些附加的功能是 Servlet 所没有的

 

@ Portlets 能够存取及储存永久配置文件及定制资料。@ portlets 可以存取使用者数据@ portlets 具有 URL 的重写功能在文件中去动态建立连结,允许 portal server 不用去知道如何在网页的片 段之中建立连结及动作。@ portlets 可以储存临时性的数据在 portlet session 之中,拥有两个不同的范围 :application-wide scope 及 portlet private scope 。 

 

4) Portlet 不具有一些功能, 但是 Servlet 却有提供

 

@ servlet 具有设置输出的文字编码( character set encoding)方式@ servlet 可以设置 HTTP 输出的 header@ servlet 才能够接收客户对于 portal 发出的 URL 请求

 

PLT.3.1 从 Portlets 到 Servlets/ JSPs 的关联

Portlets 可以调用 servlets , JSPs 和 JSPs 标签库来产生内容。

 

一个 portlet 可以使用请求发送者来调用 servlets 和 JSPs ,就像 servlet 使用调用其它 servlets 和 JSPs 一样。为了使portletsservlets之间整合得天衣无缝,Portlet规范允许调用更多的servlet对象。

 

servletJSPportlet中被调用时,传给servletJSPrequest是以portlet request为基础的。同样,传给servletJSPresponse是以portlet response为基础的。

 

被包括的servlet request可使用portlet requestAttributes设置。

 

    portlet和被包括的servleJSP分享同一个的输出流。

 

portlet 会话中的Attributes设置可以来自于servlet会话,反之亦然。

 

 

PLT.3.2   Servlet容器和Portlet容器的关系

portlet容器是servlet容器的扩展,所以一个portlet容器可以构建于一个已存在的servlet容器之上或者可能实现servlet容器的全部功能。无论portlet容器如何实现,它的运行环境总是假定它支持Servlet 2.3规范。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics