天天看点

Portal介绍

什么是Portal?

Portal是一个基于web的应用程序,它主要提供个性化、单点登录、不同来源的内容整合以及存放信息系统的表示层。

Portal 的组成:

(1) Portal Server 

(2) Portlet Container 

(3) Portlet

Portal Server的定义

建立在HTTP Server上。负责接收HTTP请求,调用Portlet,并将Portlet产生的内容聚集到Portal页面返回给用户。(Portal Server有时简称Portal)

Portlet Container 的定义

Portal Container:管理Portlet的生命周期并且提供其运行所需要的必要环境。同时也提供Portlet相关信息的存储。一个Portlet container 接收到来自Portal 的请求后,接着将这个请求传递给存在Container 的Portlet 执行。Portlet Container 没有义务去组合Portlets 产生的信息內容,这个工作必须由Portal (即Portal Server)来处理。Portal 和Portlet Container 可以放在一起视为同一个系统的组件,或者分开成为两个独立的组件。

Portlet的定义

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

Portlets与Servlet的异同?

相同点

基于web应用的java技术

由特定的容器管理

动态生成内容

生命周期由容器进行管理

通过request/reponse进行交互

不同点

portlet只生成片段

portlet并不直接绑定到某一个URL上

portlet通过portal进行交互

portlet可以多次在同一个portal页面上同时出现

portlet优点

能访问到用户配置信息

能在不同的域中存储会话:应用程序级到私有级。

portlet与servlet的关系

前者能调用后者,并且能共享信息,包括:Attributes

portlet容器是servlet容器的扩展

portlet无法做到的事情

设置response的字符集编码

设置http header

获取客户端的request

一个Portal处理流程

1.  一个客户端(例如:一个web浏览器)在被验证之后向Portal发出HTTP请求;

2.  Portal(或称为Portal Server)接收到请求;

3.  Portal判断请求是否包含与组成门户网站网页的portlet有关的动作;

4.  如果存在与某个portlet相关的动作,Portal请求portlet容器调用portlet处理动作;

5.  Portal通过portlet容器调用portlet,获得被包含在产生的门户网站网页中的内容片段;

6.  Portal将portlet产生的结果聚集于门户网站的网页,然后将网页返回至客户端。