`
bravewu
  • 浏览: 49389 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

JSR168 Portlet规范的中文版 【二】 PLT.3 与Servlet规范的关系

阅读更多

 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。

3
0
分享到:
评论
2 楼 java_frog 2009-05-22  
不大明白.
1 楼 luzl 2009-02-10  
好东西,楼主努力!

相关推荐

    portlet 规范和API(jsr 168/286)

    JSR 168是portlet规范的第一个主要版本,发布于2003年。它定义了一个portlet如何与门户服务器进行通信的接口,允许portlet在门户页面上与其他portlet并存,并提供了一套标准化的方法来处理用户的请求和显示内容。JSR...

    The_Java_Portlet_Specification(JSR168规范英文版)

    ### JSR168规范详解:The Java Portlet Specification #### 引言 JSR168(Java Specification Request 168)是一项重要的技术规范,它为门户服务器中的组件开发提供了一套标准化的方法。这一规范得到了业界主要...

    基于JSR168的portlet精彩范例

    基于JSR168的portlet精彩范例

    JSR 168 Portlet Project Creator 插件jar包

    JSR 168,全称为JavaServer Pages Standard Tag Library 1.6,是Java社区进程(Java Community Process)发布的一项标准,旨在规范portlet的开发。Portlet是一种可重用的Web组件,常用于企业级应用程序,特别是内容...

    在RAD7中开发JSR168 Portlet

    JSR168(Java Portlet API 1.0)是Java Community Process发布的一个规范,用于定义portlet如何在门户环境中运行,提供portlet开发的标准接口。 首先,开发环境为Windows XP SP2上的RAD 7.0.0.3,而测试环境则是...

    JSR-168 Portlet指南.doc

    遵循JSR-168规范开发的portlet,可以在多种支持该规范的门户服务器之间轻松迁移,因为大多数基于Java的门户服务器都实现了JSR-168接口。 **一、JSR-168的优势** 1. **可移植性**:JSR-168定义了一套标准接口和生命...

    jsr168 portlet 加入jetspeed中入门

    本压缩包里含有了开发一个jsr168 portlet所需要的软件 本想包含jetspeed2.0的安装程序的,可是最多智能上传10M <br>从环境配置讲到开发步骤。 并表明了很多注意的地方 本包适合初学portlet的人使用

    Struts2 JSR168 Portlet的开发

    Struts2 JSR168 Portlet的开发是构建在Java Portlet规范(JSR168)基础上,结合流行的MVC框架Struts2来创建适用于企业级门户平台的应用组件。这种开发方式允许开发者利用Struts2的强大功能,如Action、Interceptor、...

    比较-JSR-168-Java-Portlet-规范与-IBM-Portlet-API.docx

    【JSR 168与IBM Portlet API比较】 JSR 168,全称为JavaTM Standardization Request for the Java Portlet规范,是Java Community Process(JCP)提出的一个标准,旨在统一和促进portlet之间的互操作性。该规范由...

    JSR168规范与API手册

    通过阅读`portlet-1_0-fr-spec.pdf`,你可以详细了解JSR168规范的细节,而`portlet-1_0-fr-spec-api.zip`则可能包含了Portlet 1.0 API的源代码或文档,帮助开发者更深入地理解和使用这些API。 理解并掌握JSR168规范...

    JSR 168 Portlet标准(全)

    至于什么是 portal 呢, 中文翻译为 "门户网站"。 有人可能想.. 天杀的.. 门户网站不是就像 yahoo, pchome, yam 等等。不过, 我们现在讨论的 portal server, 不是那么地简单, 基本上 yahoo, pchome, yam 那些只能...

    jsr168 portlet(struts2+spring2.5+hibernate3.3)(转载)

    【标题】"jsr168 portlet"是基于Java技术栈的一种Web应用程序规范,用于构建可重用、可组合的portlet组件。JSR(Java Specification Request)是Java社区进程中的一个请求,用来定义新的Java API或改进现有API。JSR...

    JSR168_Portlet开发入门

    JSR-168,全称为Java Specification Request 168,是Java Community Process发布的一个标准,用于定义portlet(portlet是Web应用程序中的可重用组件)的API。这个标准为portlet开发者提供了一种统一的方式,使得...

    Portlet规范介绍.rar

    JSR 286是Portlet规范的增强版,于2006年发布,增加了异步处理、安全控制、缓存管理等功能,使得portlet能更高效地处理复杂任务。JSR 286还引入了Portlet Preferences API,让portlet可以保存和恢复用户的偏好设置,...

    使用jsr168标准开发portlet

    JSR 168是Java社区进程(Java Community Process)提出的一个标准,旨在规范portlet在企业级portlet容器如WebSphere Portal、Liferay Portal等中的开发和交互。这一标准定义了portlet的生命周期、API接口以及portlet...

    JSR168 PORLET标准手册汉化整理

    ### JSR168 PORTLET标准手册中文版详解 #### 序言 随着互联网技术的飞速发展,大型企业网站的构建模式也在不断进化。近年来,越来越多的企业开始采用Portal Server作为其网站架构的核心基础。不同于普通的搜索引擎...

    Portlet-Specification(2).rar_portlet

    3. **渲染与动作请求**:Portlet有两种主要类型的请求——渲染请求和动作请求。渲染请求用于生成HTML响应,而动作请求通常涉及业务逻辑处理。开发者需要掌握如何处理这两种请求,以实现portlet的功能。 4. **...

    JSR-168 中文版,实现门户必备。

    "JSR-168 Portlet中文指南大全.doc"这个文档很可能详细介绍了JSR-168标准的各个方面,包括但不限于上述概念,可能还包括如何开发portlet、配置portlet容器、实现portlet间的通信等实践指导。对于想要学习和实施JSR-...

Global site tag (gtag.js) - Google Analytics