在昨天的Post中,偶已经对Portal进行了简单的介绍,不知道各位对Portal是不是有一点点认识了呢?如果还是云里雾里的话也没有关系,毕竟Portal所涵盖的内容是很广博的,掌握它需要时间,了解也是需要时间的。在初步介绍了Portal的概念之后,今天我们来探讨一下Portal的核心——Portlet。
首先,Portlet在表现形式上就是我们所看到的页面上一个个小窗口,但是它绝不仅限于将Web Content以模块化的方式显示出来。实际上,每一个Portlet就是一个完整的Web Application,拥有完整的MVC。而Portlet的开发,部署,管理和显示都是完全独立的,不受其他Portlet的影响,从而其functionality(功能性)也是独立的,也就是说一个Portlet就是一个处理特定义务逻辑的Component。正是Portlet这种独立性与功能性,使得Portal的Administrator或者是End User能够很方便地配置符合自己要求的页面,充分提高信息采集与概括的效率。
做完了表面功夫之后,我们将注意力集中到Portlet的底层实现中来。从Portlet的类继承关系上,我们可以看到Portlet的Superclass仍然是HttpServlet。事实上,虽然Portlet相对Servlet而言进行了很大程度上的扩展并有很大的优越性,但是其本质与Servlet并无二致,都是一个处理HttpRequest并返回HttpResponse的过程,只是这个过程已经不是Servlet中的doGet、doPost或者service那么简单了,而是分成了两个方面:Event Phase和Content Rendering Phase。这就是Portlet的Two-phase Portlet Request Processing了。也许你会对这样的划分产生了兴趣,为什么需要这样去划分呢?其实,这样做是为了保持Portlet之间独立性。你可以设想一下,在一个Portal Page中包含了两个Portlet,而你在其中的一个Portlet输入了数据并提交,那么该Portlet将会处理你的请求并返回相应的结果,而另外一个Portlet则需要保持原来的样子。在这样的一个过程,对于处理了你的请求的Porlet,其Processing包含了两个phase,而另外一个Portlet则仅是进行了Content Rendering Phase的处理并将cache的内容返回。写到这里,我不禁想到了Ajax。以上的case,可以看作是页面的部分更新,如果使用了Ajax,是不是可以简化Portlet Request的处理过程呢?我相信这是一个有趣并值得深入探讨的问题。[1]
说完了比较底层的东西,我们最后再来看看Portlet比较特殊的一个地方:Portlet Mode。一个Portlet通常会包含几种display mode,最常见的莫过于Minimize和Maxmize的display mode,除此之还会有Help Mode和Edit Mode。Help Mode为用户提供关于该Portlet的帮助信息,而Edit Mode则为用户提供了设置Portlet属性的界面。用户可以通过点击Portlet的title bar上的图标(图中黑色椭圆框住的部分)来切换不同的display mode,如下图所示:
![PortalBar.bmp](/images/cnblogs_com/perhaps/PortalBar.bmp)
以上对Portlet作了简单的介绍,希望能够给各位以初步的印象。讲了那么多理论上的东西,大家是不是有点厌烦了呢?不要急,在接下来的Post中就要动手实践了,敬请关注哦! :)
[1] Asynchronous Rendering of Portlet Content With AJAX Technology
分享到:
相关推荐
基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现
图片路径的写法 <IMG >/testportlet/images/mark.gif"> (renderRequest.getContextPath()+">"> 其中renderResponse.encodeURL表示编码。目录结构截图: 。。。 。。。
您可以使用 Portal Toolkit 更快速、更高效地开发门户网站应用程序。在本文中,将演示如何安装 Portal Toolkit 4.1、如何使用它来开发、调试和部署 portlet。您将通过在远程 WebSphere Application Server 配置上...
Portal是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。 完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。 Portal服务器是...
门户、portal、portlet权限控制实现方案
WSRP,Web Service for Remote Portlets,经典例子,portal,portlet,remote portlet,version 6.0,IBM websphere
portal门户开发,jetspeed的应用及理论讲解
基于Oracle AS Portal下的Java Portlet开发.pdf
本文档将从架构解析、portal 规范、portlet 容器、portlet 生命周期、liferay portal 工作原理等方面对 Liferay Portal 进行详细介绍。 第一部分:Liferay Portal 架构解析 Liferay Portal 的架构主要由三个部分...
portal portlet 主题 皮肤 开发 安装
websphere portal 7.0 portlet开发最新版本
通过对portal的定义功能特点出发介绍portal的架构和开发的相关知识 主要内容 Portal引入 Portal定义 Portal功能 Portlet介绍 Portal开发简介 Portal的引入
portal portlet 主题 皮肤 开发
pdf格式,本文从Liferay Portal的架构入手,详细讲解Portal的用户策略、内容布局、桌面和品质的要素,引导读者完成Liferay Portal初步的二次开发,在Liferay Portal上定制自己的Portlet。
Support For Liferay 5.2.3 & Web space 10.0 U4 Support For both NetBeans 6.5.x & 6.7 Page Navigation Fix For Visual JSF Portlet
针对现有的Stringbeans3.5版的门户,根据自己的经验整理添加外部portlet应用的文档和三个例子,以及相关的jar包。
For portal 6.1 的示例包 博文链接:https://sivyer.iteye.com/blog/335576
Portal PUMA开发手册 portal portlet ibm websphere PUMA
The The Portal的目的是避免使用基于 Portlet 规范的 Java 门户,因为这些门户几乎总是显得笨重和笨重。 从技术上讲, The Portal依靠 、 、 和来提供基本的门户功能。 但这并不意味着您必须编写 Scala 代码 ;-)。...