- 浏览: 94932 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
jz20110918:
复制粘贴时多粘了一遍。
【转】Oracle中Decode()函数使用技巧 -
jz20110918:
转载时麻烦把源地址贴出来。
【转】Oracle中Decode()函数使用技巧 -
jz20110918:
你这字体也忒小了吧,瞅半天眼都废啦!!!!!就不能排版一下吗 ...
【转】Oracle中Decode()函数使用技巧 -
houliang4285:
给vmware的Linux虚拟机添加硬盘 -
pao569952355:
正解。3333qqqq
http://localhost:8080 请求用户名和密码。信息为: “XDB”
一、 Portlet简介
Portlet与servlet一样,都是jcr的规范api定义,不同的portlet还比较“年轻”,目前版本还只到2.0,而servlet规范已经相当成熟,发布了多个版本。如果不是十分准确的说,portlet只是另一种开发web程序的api,从这个方面说,开发portlet并没有什么神秘的地方,但是之所以有portlet这个规范,portlet适用的场景肯定与servlet是不同的,比如开发portlet不但要与portlet容器打交道,还要与portal打交道。读者在学习portlet开发的过程中,可以不时的用servlet的概念与portlet相比较,比较两者的异同,可以达到事半功倍的效果。
刚才说到portlet规范已经出到2.0,分别是jsr168,jsr286。JSR 168 目前在业界受到广泛支持,目前我们开发的大部分代码都是基于jsr168的,jsr168规范支持基本的开发方式,虽然提供的功能比较少,但是已经基本可以满足日常需要。Jsr168发布三年之后,大多数支持 Java Portlet Specification V1.0 的门户产品都提供一些附加扩展,以支持更高级的用例,这些附加的扩展造成了各个门户产品的标准不统一,彼此间的交互协作成了不可避免的问题。为了更好地规范 portlet 开发,以适应业界发展,并提供适应于最高级别用例的标准解决方案,从而为这些高级功能提供互操作性,在 2005 年 11 月开始了 Java Portlet Specification V2.0(称为 JSR 286)的开发,在2008年1月Java Portlet Specification V2.0 目前已经正式发布。JSR 286规范兼容了 JSR 168,并完善了 JSR 168 的部分功能,并提供了诸多 JSR 168 所没有的新特性,例如资源服务、事件、portlet 过滤器、共享呈现参数及 portlet 窗口等。与 V1.0 类似,V2.0 也将基于 J2EE 1.4,因此可让 Portlet 使用 J2EE 1.4 增强(如 JSP 2.0)。下面是该新规范的一些主要功能及特性:
- 资源服务:一种新的通过 portlet 呈现资源的方式。
- 事件:通过发送事件和接收事件来实现 portlet 之间的通信。
- Portlet 过滤器:与 servlet 过滤器类似,根据 Portlet 请求和响应动态的呈现内容的变换。存在以下四种类型的 portlet 过滤器:
- Action 过滤器
- Render 过滤器
- Resource 过滤器
- Event 过滤器
- 共享呈现参数:除了 portlet 私有的呈现参数之外,新增了可以在 portlet 之间共享的呈现参数。
- Portlet 窗口:提供 portlet 窗口 ID 供 portlet 使用
要讲解portlet,首先要明确三个概念:portal、portlet、portlet容器。Portlet与portlet容器的关系可以比较servlet与servlet容器的关系,两者是完全一致的,开发者按照portlet规范开发portlet,部署在中间件提供商(ibm、oracle、apache)提供的portlet容器中运行,比较难理解的是portal,首先portal是一个JEE的application,portal负责提供页面给客户,其次portal里面的内容是portlet生成出来的。一般的过程是,用户通过web客户端向portal发起http请求,portal解析这些请求,把请求“下发”给portlet容器,portlet容器来调用portlet,由portlet产生输出返回给portlet容器,portlet容器再把输出返回给portal,portal负责把这些portlet的输出聚集起来,把内容返回给web客户端。下面来具体描述一下portal、portlet、portlet容器三个概念。
什么是portal
Portlet规范中是这样定义portal的:
A portal is a web based application that –commonly- provides personalization, authentication,, content aggregation from different sources and hosts the presentation layer of Information Systems. |
Portal是一个基于web的提供个性化、登录授权、从不同的数据源聚集内容基于展现层的信息系统。具体到J2EE领域,portal大多数情况是一个符合J2EE标准的ear包工程。
什么是portlet
规范中式这样定义portlet的:
A portlet is an application that provides a specific piece of content (information or service) to be included as part of a portal page. It is managed by a portlet container, that processes requests and generates dynamic content |
一个Portlet是一个基于java技术的被portlet容器管理的web组建,它可以处理requests、生成动态的内容输出,一个portlet负责提供portal 页面中的某个特定部位的展现内容。
与servlet同样,portlet的生命周期是被portlet容器来管理的。Portlet生成的内容也可以称作fragment,这些多个portlet生成的多个fragment会被portal聚集(aggregate)在一起展现。不同用户看到的portlet可能不同,这依赖于不同用户对使用portlet的配置。
什么是portlet容器
规范中式这样定义portlet容器的
A portlet container runs portlets and provides them with the required runtime environment. A portlet container contains portlets and manages their lifecycle. It also provides persistent storage for portlet preferences. A portlet container receives requests from the portal to execute requests on the portlets hosted by it. |
Portlet容器提供portlet生命周期环境,管理portlet的生命周期,还提供portlet preferences的持久化支持,portlet从portal接受请求,然后分发给运行其上的portlet。
Portlet不负责聚集portlet生成的内容,这是portal责任。根据中间件厂商的实现方式portlet容器与portal可以放在一个application中实现,也可以放在两个不同的application中实现。
三者关系
下面是以一个用户使用web客户端来与portal交互的用力,描述portlet、portlet容器、portal三者关系、责任:
1. web客户端通过http 来对portal发起request请求
2. request请求被portal就收到
3. portal分析这个请求是否需要与portlet进行交互
4. 如果需要,则portal通知portlet容器调用portlet处理交互
5. Portal通过portlet容器得到portlet返回的fragments
6. Portal聚集portlet产生的fragments,生成最终的页面,返回给web客户端
版本兼容性
Jsr286规范是向后兼容的,所以所有基于jsr168写的代码生成的war都可以在jsr286容器里面运行。不过下面罗列出一些特例,这些特例会在具体章节说明。
1. RenderResponse.setContentType已经不再需要在getWriter 或者getOutputstream之前调用了,已经不会产生IllegalStateException
2. 对于在portlet工程中嵌入servlet、jsp调用getProtocol,jsr168中返回时null,jsr286中返回时HTTP/1.1
JSR286的主要新特性
Jsr286对Jsr168是向后兼容的,jsr286主要增加了如下新特性:
Ø 事件Events,可以是portlet可以接受、发送事件
Ø 公共展现参数public render parameters,容许portlet之间共享参数
Ø 资源服务 resource serving ,提供portlet服务资源的能力
Ø Portlet 拦截器 portlet filter,容许在portlet的request、response之间建立拦截器
与J2EE的版本对应
|
J2EE |
servlet |
jsp |
JSR168 |
1.3 |
2.3 |
1.2 |
JSR286 |
1.4 |
2.4 |
2.0 |
发表评论
-
PowerDesigner中显示name, code,comment的解决方法 修正脚本,执行不会重复添加comment
2016-03-18 11:04 1687Option Explicit Validat ... -
2014年6月环球资源工作转正总结
2014-10-15 17:24 0试用期工作总结报告 2014年3月17日,我有幸来到公司 ... -
备忘录
2014-10-10 17:17 0非黄 五福博古架 团圆 ... -
大型网站架构不得不考虑的10个问题
2014-04-10 16:33 1105这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基 ... -
【转】30条值得你借鉴的好习惯
2013-09-13 13:31 822我有幸一直能生活在比较好的圈子中,我的优秀 ... -
Firefox扩展开发01-Hello World
2012-12-17 23:05 1218今天尝试开发一个Firefox的扩展。虽然比较简单,网 ... -
cmd /c和cmd /k 以及CMD命令
2012-09-28 11:17 296632011-03-31 17:14 【转】cmd ... -
自己搭建一个SSH框架
2012-08-16 19:23 1863自己搭建一个SSH框架!真累挺! 来源: 张成法的日 ... -
tar 解压缩命令
2012-06-13 09:39 1176tar -c: 建立压缩档案-x:解压-t:查 ... -
IBM WAS简介
2012-05-11 15:59 4764IBM WAS简介 IBM WAS 的全称是 IB ... -
给vmware的Linux虚拟机添加硬盘
2012-05-06 22:31 18541、先将虚拟机Power Off,在Virtual Ma ... -
log4j.properties配置详解
2012-04-20 16:26 3781stone 的 log4j配置详解 Log4J的配置文件(C ... -
Mysql 乱码问题--如何查看和修改Mysql 的字符集
2012-04-13 00:51 2039MySQL会出现中文乱码的原因不外乎下列几点: 1.ser ... -
MySQL中关于JDBC URL几个重要参数说明
2012-04-13 00:41 3551MySQL JDBC Driver 常用的有两个, ... -
IBM webSphere Portal之portlet与servlet规范的关系
2012-03-07 15:49 1687Servlet规范中是这样定 ... -
Java Socket 编写的 HTTP 服务器应用【转】
2011-05-26 18:23 3307转自http://hi.baidu.com/zpls200 ... -
java:ant:build.xml简析
2011-04-06 10:16 1447一、Ant是什么? Ant ... -
reflect Java的反射机制
2011-03-31 13:36 1493一、类型识别的两种方式: 首先了解一下“运行时类型识 ... -
OOP从实例谈:面向对象编程编程思想
2011-03-31 11:19 1228有了翅膀才能飞,欠缺灵活的代码就象冻坏了翅膀的鸟 ... -
编程的:23种设计模式
2010-10-29 21:05 9481、工厂模式:客户 ...
相关推荐
### Liferay Portal 二次开发指南 #### 一、Liferay Portal 概览 **Liferay Portal** 是一款开源的企业级门户平台,它基于Java技术构建,支持多种标准,包括JSR 168和WSRP等。Liferay Portal 提供了一个高度可定制...
### Liferay 6.0 开发指南核心知识点详解 #### 一、引言与核心技术 在《Liferay 6.0 开发指南》中,首先介绍了Liferay 6.0的核心技术及其开发策略。Liferay是一款强大的开源门户平台,支持企业级应用的构建与部署...
- **第一章:简介**:介绍WebSphere Portal V6的基本概念及其重要性。 - **第二章:架构与规划**:探讨如何构建一个高效的门户架构,包括功能性需求分析、集成策略和技术选型等内容。 - 后续章节将深入讲解具体的...
这一章强调,通过消除这些功能的开发工作,门户开发者现在可以把时间和精力集中在开发业务功能上。 第2章详细介绍了JBoss Portal Server的安装过程。这部分内容将引导读者逐步完成JBoss Portal Server的下载、配置...
综上所述,《iOS Programming Cookbook》第一章的内容覆盖了iOS开发的基础知识,从创建第一个项目到发布应用程序,再到掌握Objective-C的基本语法,都是初学者不可或缺的学习资源。通过实践这些基础知识,开发者可以...
#### 第二章 规划 WebSphere Portal 6.0 的高可用性部署 ##### 2.1 系统要求 - **硬件要求:** 包括 CPU、内存、存储空间等方面的最低配置要求。 - **软件要求:** 列出了操作系统、中间件以及其他必要的软件版本。 ...
### Liferay Portal 4 开发指南:扩展环境开发详解 #### 概述 《Liferay Portal 4-扩展环境开发》是一本专为希望在Liferay Portal基础上进行深入定制的开发者们编写的实用指南。本书提供了基于Ant的一系列工具,...
#### 第一章:基本概念 ##### 1. Android简介 2007年11月,Google推出了移动操作系统Android,这是一款专为移动终端设计的开放且完整的操作系统。自那时起,基于Android的手机和平板电脑迅速占据了市场份额。...
第十一章介绍了地理处理,开发者可以通过ArcGIS Runtime执行地理分析任务,例如空间分析和网络分析。 第十二章介绍了Portal API,这是Esri的一套API,允许开发者访问和管理Portal for ArcGIS中的内容,例如组织、...
在第一章中,文档对Portal的概念进行了概述,并对NC Portal做了简介,强调了其在企业信息化建设中的重要地位。 第二章主要探讨了NC Portal的架构和功能。NC Portal容器是整个系统的基础,它为Portlets(portlet是...
这是2个压缩包中的第二个,请一并将第一个下载后,随便解压其中一个即可。 如果只希望下载其中一部分即可阅读,可下载另一个pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 内容简介 出版日期: ...
本书第一章“VoteforJBoss”可能寓意着对JBoss应用服务器的支持与推崇,通过介绍其历史背景、架构设计与核心特性,帮助读者理解为何JBoss能够在众多应用服务器中脱颖而出。 ### 二、管理与部署JBoss应用 第二章...
- **第1章**:首先介绍了一个简单的 Web 应用程序如何在 JBoss AS 上运行。这一章节还深入探讨了 JBoss AS 分发包中的目录结构和文件组成。 - **目录结构**:包括服务器的配置文件、日志文件、部署的应用程序文件等...
这是2个压缩包中的第一个,请与第二个一并下载,然后随便解压其中一个即可。如果只想下载其中一部分,可下载pdf: http://download.csdn.net/detail/oqqsun12345678/5215337 这个pdf是665页中的前404页,后面200多页...
### 第一章:我的第一个Portlet #### 1.1 当前Java Portlet规范的状态 - **Java Portlet Specification**:介绍了当前版本的Java Portlet规范(如JSR 168、JSR 286等),包括其发展历程、特点和优势。 - **Portlet...
1. **第5章: 配置JBoss Web Server** - **重点内容**:该章节主要讲解了如何配置JBoss Web Server以适应不同的应用需求。 - **实践价值**:通过学习本章内容,读者可以掌握如何调整服务器参数以提高Web应用的性能...
#### 第1章:IBM Cognos Business Intelligence 组件介绍 ##### 服务器组件 IBM Cognos BI 的服务器端主要由以下几个部分组成: - **Web 通信 - 网关**:负责处理客户端与服务器之间的网络通信,确保数据安全传输...