在昨天的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,如下图所示:
以上对Portlet作了简单的介绍,希望能够给各位以初步的印象。讲了那么多理论上的东西,大家是不是有点厌烦了呢?不要急,在接下来的Post中就要动手实践了,敬请关注哦! :)
[1] Asynchronous Rendering of Portlet Content With AJAX Technology
分享到:
相关推荐
基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现
在 WebSphere Portal 上构建 Portlet 应用时,Struts 2 可以为开发者提供一个结构化的开发环境,使应用程序更加灵活和易于管理。下面将详细介绍如何基于 Struts 2 构建 WebSphere Portal 上的 Portlet 应用。 1. **...
在本文中,我们将深入探讨如何使用Spring MVC Portlet 3.0框架开发针对IBM WebSphere Portal的应用。Spring MVC Portlet是Spring Framework的一部分,它提供了一种优雅的方式来构建portlet应用程序,而IBM WebSphere...
Portlet技术是构建企业级Web应用的重要组成部分,特别是在门户(portal)环境中,它允许开发者创建可重用、可组合的Web组件。JSR168(Java Portlet Specification 1.0)是Java社区进程发布的一项标准,为portlet的...
在IT行业中,门户(portal)开发是构建大型企业或组织信息系统的常见方法,它提供了一个统一的入口点,用户可以通过这个入口访问各种不同的应用和服务。本主题主要关注Java Portal技术,特别是通过Jetspeed Portal和...
在本基础课程中,我们将深入理解Portal的概念及其核心组成部分——Portlet。 1. Portal基础 Portal最初源于互联网,指的是用户首选的访问网站,如雅虎和搜狐,它们聚合了丰富的信息资源。随着企业对集成化信息平台...
在Web开发领域,Portlet是一种特殊的组件,它被设计用来构建可复用、可配置的Web应用程序,通常在Portal环境下运行。Portlet技术为用户提供了一种集中访问多种服务和信息的方式,例如新闻、天气预报、邮件等。下面...
图片路径的写法 <IMG >/testportlet/images/mark.gif"> (renderRequest.getContextPath()+">"> 其中renderResponse.encodeURL表示编码。目录结构截图: 。。。 。。。
本文将详细介绍Portlet标准及其在Portal中的应用,帮助读者理解这一技术的核心概念。 **1. 什么是Portal(门户)** Portal,中文常译为“门户网站”,是一种基于Web的系统,它提供了个性化设定、单一登录功能,并...
【标题】"用于IBM Portal的符合JSR168标准的Portlet"揭示了这个项目是专门为IBM Portal平台设计的一款portlet应用,它遵循了JavaServer Portlets(JSR168)规范。JSR168是Java Community Process发布的一个标准,...
在IT行业中,门户(portal)和portlet是构建企业级应用的重要组成部分。它们提供了一个集中的访问点,允许用户访问各种不同的应用程序和服务。本文主要探讨如何在Websphere Portal 6.1.5环境下进行portlet主题和皮肤的...
Oracle AS Portal是Oracle应用服务器的一个组件,专门用于构建和部署企业级门户系统。这个平台提供了一个安全、可管理的环境,使得用户可以访问企业级的软件服务和信息资源。通过集成的门户创建框架,开发人员能够...
#### 二、Portal应用概述 Portal应用是一种复杂的J2EE应用,通常集成了多种功能模块和服务。它们不仅需要高效地处理来自不同来源的数据,还需要确保良好的用户体验。因此,理解并解决Portal应用中的性能问题是至关...
《Liferay Portal文档》是一份详尽的指南,主要介绍了Liferay Portal的架构、工作原理及其核心组件——Portlet。Liferay Portal是一款开源的企业级门户平台,它提供了丰富的功能,如内容管理、社交网络、协作工具等...
1. **portlet应用准备**:确保你拥有portlet的WAR(Web应用程序归档)文件,这是portlet的打包形式,包含portlet的Java源代码、配置文件和资源。此外,你可能需要特定的jar包来支持portlet的运行,这些jar包应与...
Portlet是一种特殊的Web组件,主要用于门户(portal)应用中,它可以嵌入到门户页面上,提供个性化、交互式的服务。Portlet技术的核心是为开发者提供一种在门户环境中创建可重用、可组合的小型应用程序的方法。IBM是...
在实践中,开发者还需要了解如何在portlet容器(如IBM WebSphere Portal、Liferay Portal等)中部署和测试portlet。这涉及到理解容器的部署结构,以及如何配置portlet的部署描述符。 总的来说,通过这个"portlet...