`

IBM webSphere Portal之portlet与servlet规范的关系

 
阅读更多

Servlet规范中是这样定义的:

A servlet is a Java technology based web component, managed by a container, that generates dynamic content. Like other Java-based components, servlets are platform independent Java classes that are compiled to platform neutral bytecode that can be loaded dynamically into and run by a Java enabled web server. Containers, sometimes called servlet engines, are web server extensions that provide servlet functionality. Servlets interact with web clients via a request/response paradigm implemented by the servlet container.

 

Servetl是居于java技术的web组件,被servlet容器管理,生成动态内容。Servlet通过servlet容器与web客户端展开request、response交互。

其实很难说出Portlet与servelt之间的关系,从某个层面说portlet与servlet之间没有任何关系,但是从另一个层面来说又有个千丝万缕的关系,就像马和牛一样,所以这里只是做一些技术上的比较

Portlets与 servlets的相同点:

• 都是基于java技术的web 组件

• 都被专门的容器管理

• 都生成动态内容

• 生命周期都被容器管理

• 都是与web客户端通过request/response的方式交互

Portlets与 servlets的不同点:

• portlet只生成内容片断,portal来负责把这些片断聚集在一个页面中。

• portlet不能直接映射成一个url

• Web 客户端同portlet交互需要通过portal system

• Portlets 有多种request, action requests 和 render requests

• Portlets 定义了 portlet modes and window states

• Portlets可以离开多次在portal 页面

Portlet提供的附加功能但是servlet没有提供

• Portlets 可以持久化存储和访问数据

• Portlets可以访问用户的信息

• Portlets 具有url重写功能,可以让portal来生成访问portlet的链接和action。

• Portlets 可以在session的两个范围中存储数据,application-wide scope 和 the portlet private scope.

• Portlet可以互相接受、发送事件

Portlets 不具备的servlet提供的功能

• 在response中设置字符编码

• 直接通过url访问

Jsr286中新提供的serveResource具有完全的response控制。

就是由于上述的不同,才定义了这个新的web组件规范。Portlet重用了很多servlet中基础的、重要的概念,比如部署方式、类加载、生命周期管理、session管理、request分发。在同一个portlet 应用中的portlet、servlet、jsp共享类加载、应用上下文、session。

Portlet与servlet/jsp中的桥梁

Portlet可以利用servlet、jsp生成内容,一个portlet可以使用request分发调用servlet、jsp,就像一个servlet可以调用servlet、jsp。当一个servlet被portlet调用,servlet的request基于portlet的request,servlet的response基于portlet的response。比如:

• 在portlet中request设置的属性,servlet可以获得。

• Portlet、servlet、jsp共享一个输出流。

• 使在portlet中session设置的属性,servlet可以获得。

用servlet生命周期事件

Portlet中的PortletContext 、PortletSession与servlet中的SevletContext、HttpSession是有关联关系的,所有这对servlet生命周期的listener同样对portlet有效

Servlet容器与portlet容器之间的关系

Portlet的容器是servlet容器的扩展,根据中间件厂商的实现方式portlet容器可以单独实现也可以基于servlet扩展。

分享到:
评论

相关推荐

    Developing themes and skins in IBM WebSphere Portal 6.0.X

    ### 开发 IBM WebSphere Portal 6.0.X 中的主题与皮肤 #### 一、引言 随着企业级应用对用户体验需求的不断增长,IBM WebSphere Portal 6.0.X 提供了强大的工具来帮助开发者创建定制化且美观的门户界面。本文档旨在...

    portlet开发指南

    IBM WebSphere Portal是一款功能强大的企业级Portal服务器,它支持Portlet的开发和部署。搭建WebSphere Portal环境通常涉及安装和配置WebSphere Application Server、安装WebSphere Portal Server以及设置开发工具...

    IBM portlet开发指南

    在IBM WebSphere Portal环境下搭建开发环境,以及在Apache Pluto Portal环境下搭建开发环境,是开发Portlet应用的先决条件。快速入门部分可能涉及了基础的配置和测试步骤。 #### Portlet概念 Portlet定义了Portal...

    Websphere Portal Server 6.0 安装指南

    在本篇文章中,我们将深入探讨IBM Websphere Portal Server 6.0 (以下简称WPV6)的安装与配置过程。WPV6是基于Java 2 Platform, Enterprise Edition (J2EE) 构建的应用程序,它运行在Websphere Application Server ...

    portlet开发

    在IT行业中,portlet开发是构建企业级Web应用程序的重要部分,特别是在使用IBM WebSphere Portal或其它支持portlet标准的平台时。Portlet是一种可重用的Web组件,能够在门户环境中提供特定的功能,比如显示新闻、...

    portlet开发参考手册

    常见的portlet portal实现有IBM WebSphere Portal、Liferay Portal和Oracle WebCenter等。 portlet开发中还需要关注的主题包括: 1. **内容和视图管理**:portlet可以动态地提供和更新内容,支持多种视图模式,如...

    portlet之开发详解(中文)

    开发Portlet需要了解其基础概念、生命周期、与servlet的关系以及开发环境的搭建等。 ### Portlet基础知识 Portlet是Portal页面的一个区域,它类似于Web应用中的servlet,但是它运行在Portal容器中。Portal是一个为...

    Portlet开发指南

    Portlet与servlet的关系**:Portlet可以被视为servlet的一个扩展,它们都遵循类似的生命周期模型,但Portlet还具有更多的功能和约束,以适应Portal环境的需求。例如,Portlet可以响应不同的请求类型,包括渲染请求...

    portlet开发以及相应的工具包,如何与tomcat整合

    开发portlet时,开发者通常会使用一些特定的工具包,如Liferay Portal SDK或者IBM WebSphere Portlet Factory。Liferay SDK提供了用于创建portlet项目的模板和库,包括构建工具(如Maven)和开发环境集成(如Eclipse...

    portlet资料

    - 此外,portlet容器如Liferay、IBM WebSphere Portal等也提供了丰富的工具和功能来简化portlet的部署和管理。 7. **portlet 1.0版本**: - 提到的文件都是针对portlet 1.0标准,虽然现在有更新的版本(如Portlet...

    portal实施说明

    WebSphere Portal可以与内容管理系统(如IBM FileNet P8)集成,实现文档的存储、检索和版本控制。此外,还可以通过集成工作流引擎(如IBM Lombardi或IBM Business Process Manager)来自动化业务流程。 10. **...

    Portlet实例代码

    IBM是Portlet技术的重要推动者之一,其WebSphere Portal产品就广泛支持Portlet开发。 在“Portlet实例代码”中,我们可能找到的是一个简单的Portlet开发示例。这个示例可能是用Java语言编写的,因为Java是Portlet...

    Portlet-Specification(2).rar_portlet

    7. **portlet部署**:了解如何将portlet部署到portlet容器(如Liferay、IBM WebSphere Portal等)中,以及如何调试和优化portlet的性能,是实际开发中的重要技能。 8. **portlet开发工具**:一些IDE如Eclipse和...

    portal 开发指南

    ##### 2.2 Servlet容器与Portlet容器的关系 虽然Portlet在很多方面类似于Servlet,但它们运行在不同的容器中。Servlet容器主要用于处理传统的Web应用程序,而Portlet容器则是专门用于处理Portlet应用程序。这两个...

    portlet hello world程序

    Portlet运行在支持JSR 286的门户服务器上,如IBM WebSphere Portal、Liferay Portal或Apache Pluto。开发者需要在这些服务器上部署portlet应用,然后通过门户管理员界面添加和配置portlet。 8. **portlet的交互** ...

    JSR168_Portlet开发入门

    这个标准为portlet开发者提供了一种统一的方式,使得portlet可以在不同的portlet容器(如IBM WebSphere Portal或Liferay Portal)中运行。Portlet的主要目标是将内容、功能和交互性集成到一个统一的Web门户中。 一...

    Portal教程

    #### 三、Portal操作规范与管理 **3、1 专业术语及定义** 了解Portal相关的专业术语,如portlet、theme、page等,对于管理和使用Portal至关重要。 **3、2 登录管理模块** 负责用户的认证和会话管理,确保只有...

Global site tag (gtag.js) - Google Analytics