PLT.3
与Servlet规范的关系
我们先看一下Servlet v2.3规范中对Servlet的定义:
“Servlet是基于Java技术的Web组件。容器(Container)对servlet进行管理,并生成动态内容。像其它基于Java的组件一样,Servlets是平台独立性的Java类,被编译成与平台无关的二进制文件,最后被适用Java的Web服务器动态载入并运行。容器,有时也被称作Servlet引擎,是属于能够提供servlet功能的Web服务器的扩展。Servlet通过由Servlet容器实现的request/response实现类来与Web客户端进行交互。”
根据以上定义,我们可以知道Portlet与Servlet具有以下相同特点:
- 都是基于Java技术的Web组件
- 都是由专门的容器进行管理
- 都可以生成动态内容
- 生命周期都是由容器来管理
- 都是通过request/response实现类来与Web客户端进行交互
同时,我们也可以知道Portlet具有以下与Servlet不同的特点:
- Portlet只能生成标记代码片段,而不是完整的页面文件。Portal可以将这些片段组成一个完整的Portal页面。
- Portlet不是直接与URL进行绑定。
- Web客户端通过Portal系统与Portlet进行交互。
- Portlet可以处理多个精细的request,它们是action request和render request。
- Portlet可以预定义Portlet模式和窗口状态。模式能够确定Portlet可以实现的功能,而状态则能够确定Portal页面上真实状态的数量。
- 同一个Portlet可以在同一个Portal页面上出现多次。
Portlet还可以访问以下servlet所不能访问的功能:
- Portlet可以访问并存储持久性配置和自定义数据。
- Portlet可以访问用户档案信息。
- Portlet具有URL重写功能,可以在它的内容中创建超链接,这样就允许在页面片断中放置Portal服务器所不知的链接和动作。
- Portlet可以在两个范围中将过渡过程数据存储到Portlet会话中:应用范围和Portlet私有范围。
同时,以下是Servlet可以但Portlet却不能访问的功能:
- 设置response加密字符集。
- 在response中设置HTTP头。
- 客户端对Portal请求的URL。
由于这些不同,专家组决定将Portlet视为一个新的组件。因此,Portlet不是Servlet。 这样就允许为Portlet定义清晰的接口和行为。
为了尽可能地重用servlet的基础架构,本Portlet标准文档尽一切可能地采纳Servlet标准文档中的内容。这包括部署、类的载入、Web应用、Web应用生命周期的管理、会话管理和请求分发。许多概念和Portlet API的部分都是根据Servlet API构建的。
将Portlet、Servlet和JSPs组合到一个扩展的Web应用中,被称为Portlet应用。在同一个Portlet应用中,Portlet、Servlet和JSPs共享载类器、应用上下文和会话。
PTL3.1 在Portlet中使用Servlet/JSPs
Portlet可以使用Servlet、JSPs或JSP标签库来生成内容。
如同Servlet可以利用请求派发器(见PLT.16派发请求到Servlet和JSPs)调用其它Servlet和JSPs,Portlet可以调用Servlet和JSPs。为了实现Portlet与Servlet的无缝整合,Portlet规范吸纳了许多Servlet对象。
在从Portlet内调用Servlet或JSP时,发给Servlet或JSP的Servlet request是基于Portlet request,而返给Servlet或JSP的Servlet response是基于Portlet response。
- 设置在portlet request中的属性对包含的servlet request是有效的(见PLT.16派发请求到Servlet和JSPs)。
- Portlet和包含的servlet或JSP共享同一个输出流(见PLT.16派发请求到Servlet和JSPs)。
- 设置在portlet session中的属性可以在servlet session中访问,反之亦然(见PLT.15 Portlet Session)。
PTL3.2 Servlet容器与Portlet容器的关系
Portlet容器是Servlet容器的扩展。也就是说,Portlet容器可以建在Servlet容器之上或它可以实现Servlet容器的所有功能。不管Portlet容器是怎么实现的,它的运行环境应该支持Servlet规范2.3。
分享到:
相关推荐
JSR 168是portlet规范的第一个主要版本,发布于2003年。它定义了一个portlet如何与门户服务器进行通信的接口,允许portlet在门户页面上与其他portlet并存,并提供了一套标准化的方法来处理用户的请求和显示内容。JSR...
### JSR168规范详解:The Java Portlet Specification #### 引言 JSR168(Java Specification Request 168)是一项重要的技术规范,它为门户服务器中的组件开发提供了一套标准化的方法。这一规范得到了业界主要...
基于JSR168的portlet精彩范例
JSR 168,全称为JavaServer Pages Standard Tag Library 1.6,是Java社区进程(Java Community Process)发布的一项标准,旨在规范portlet的开发。Portlet是一种可重用的Web组件,常用于企业级应用程序,特别是内容...
JSR168(Java Portlet API 1.0)是Java Community Process发布的一个规范,用于定义portlet如何在门户环境中运行,提供portlet开发的标准接口。 首先,开发环境为Windows XP SP2上的RAD 7.0.0.3,而测试环境则是...
遵循JSR-168规范开发的portlet,可以在多种支持该规范的门户服务器之间轻松迁移,因为大多数基于Java的门户服务器都实现了JSR-168接口。 **一、JSR-168的优势** 1. **可移植性**:JSR-168定义了一套标准接口和生命...
本压缩包里含有了开发一个jsr168 portlet所需要的软件 本想包含jetspeed2.0的安装程序的,可是最多智能上传10M <br>从环境配置讲到开发步骤。 并表明了很多注意的地方 本包适合初学portlet的人使用
Struts2 JSR168 Portlet的开发是构建在Java Portlet规范(JSR168)基础上,结合流行的MVC框架Struts2来创建适用于企业级门户平台的应用组件。这种开发方式允许开发者利用Struts2的强大功能,如Action、Interceptor、...
【JSR 168与IBM Portlet API比较】 JSR 168,全称为JavaTM Standardization Request for the Java Portlet规范,是Java Community Process(JCP)提出的一个标准,旨在统一和促进portlet之间的互操作性。该规范由...
通过阅读`portlet-1_0-fr-spec.pdf`,你可以详细了解JSR168规范的细节,而`portlet-1_0-fr-spec-api.zip`则可能包含了Portlet 1.0 API的源代码或文档,帮助开发者更深入地理解和使用这些API。 理解并掌握JSR168规范...
至于什么是 portal 呢, 中文翻译为 "门户网站"。 有人可能想.. 天杀的.. 门户网站不是就像 yahoo, pchome, yam 等等。不过, 我们现在讨论的 portal server, 不是那么地简单, 基本上 yahoo, pchome, yam 那些只能...
【标题】"jsr168 portlet"是基于Java技术栈的一种Web应用程序规范,用于构建可重用、可组合的portlet组件。JSR(Java Specification Request)是Java社区进程中的一个请求,用来定义新的Java API或改进现有API。JSR...
JSR-168,全称为Java Specification Request 168,是Java Community Process发布的一个标准,用于定义portlet(portlet是Web应用程序中的可重用组件)的API。这个标准为portlet开发者提供了一种统一的方式,使得...
JSR 286是Portlet规范的增强版,于2006年发布,增加了异步处理、安全控制、缓存管理等功能,使得portlet能更高效地处理复杂任务。JSR 286还引入了Portlet Preferences API,让portlet可以保存和恢复用户的偏好设置,...
JSR 168是Java社区进程(Java Community Process)提出的一个标准,旨在规范portlet在企业级portlet容器如WebSphere Portal、Liferay Portal等中的开发和交互。这一标准定义了portlet的生命周期、API接口以及portlet...
### JSR168 PORTLET标准手册中文版详解 #### 序言 随着互联网技术的飞速发展,大型企业网站的构建模式也在不断进化。近年来,越来越多的企业开始采用Portal Server作为其网站架构的核心基础。不同于普通的搜索引擎...
3. **渲染与动作请求**:Portlet有两种主要类型的请求——渲染请求和动作请求。渲染请求用于生成HTML响应,而动作请求通常涉及业务逻辑处理。开发者需要掌握如何处理这两种请求,以实现portlet的功能。 4. **...
"JSR-168 Portlet中文指南大全.doc"这个文档很可能详细介绍了JSR-168标准的各个方面,包括但不限于上述概念,可能还包括如何开发portlet、配置portlet容器、实现portlet间的通信等实践指导。对于想要学习和实施JSR-...