JSR 168 翻譯03

老文原創

2.5.        Portlet規範和J2EE 的關係

Portlet apr 1.0版是基於J2EE 1.3.Portlet  s容器和PORTLETS符合J2EE規範描述的需求,能夠運行在J2EE環境中.

在名字和概念上,Portlet Servlet (定義在Servlet 2.3 規範中)很類似。

3.    Portlet規範與Servlet規範的關係

Servlet 2.3 規範對Servlets 的定義是這樣的:

Servlet 是一種基於Java 技術的,由容器管理的,能夠生成動態內容的Web 組件。像其他一些Java 組件,Servlets 是一些平臺無關的Java 類,能夠被編譯成平臺獨立的字節碼。並且能夠動態的被裝載並運行在Java 功能的Web 服務器(這樣的Web 服務器容器也叫做Servlet 引擎,能夠使Web 服務器擴展提供Servlet 功能)。Servlet 容器實現了請求/響應的模式,Servlets 可以和Web 客戶端通過這樣的模式交互”

 

Portlets Servlets 有下列相似之處:

l        Portlets 是基於Java 技術的Web 組件

l        Portlets由專門的容器來管理

l        Portlets 可以生成動態的內容

l        容器管理Portlets 的生命週期

l        Portlets Web 客戶端通過“請求/響應”的模式來交互

 

Portlets Servlets 的不同之處有以下幾方面:

l        Portlets 生成一些標記語言的標記片斷,而不是整個文檔。由Portal 聚合這些Portlet 標記片形成一個完整的Portal 頁面。

l        Portlets 不直接綁定到一個URL

l        Web 客戶端是通過Portal 系統與Portlets 交互

l        Portlets 更精確的就行請求的響應,處理和提交

l        Portal 頁面中,Portlets 有預定義好的Portlet 模式和窗口狀態來指出當前Portlet 執行的是什麼功能

l        Portlets 能夠在Portal 頁面中存在多次

 

Portlets 能夠具有Servlets 不能提供的一些額外功能:

l        Portlets 可以有訪問持久存儲的配置和客戶定製數據的能力

l        Portlets 可以訪問用戶描述信息

l        Portlets URL 重寫功能來在它的內容中創建超級鏈接,這樣就可以允許Portal 服務器在頁面片中不可知的創建鏈接和處理

l        Portlets 能夠在兩個不同的範圍內,在 Portlet session 中暫時存儲一些數據:應用範圍內和Portlet 私有範圍

 

有一些Servlet 的功能,Portlet 並不具備

l        在響應中設置字符編碼

l        在響應中設置HTTP 頭信息

l        沒有客戶端可以請求的URL

 

因爲這些不同,專家組決定需要一種新的Portlet 組件,因此,Portlet 並不是Servlet,將爲Portlets定義清晰的接口和行爲。

 

爲了儘可能的重用現有的Servlet 基礎結構,有可能的情況下,Portlet 規範使用了一些Servlet 規範提供的功能。比如包括了:部署、類裝載、Web 應用、Web 應用生命期管理、Session 管理和請求分派。大量的概念和Portlet API 的內容都仿照了Servlet API

 

PortletsServlets JSPs 捆綁在一起作爲一個擴展Web 應用就叫做 Portlet 應用。PortletsServlets JSPs 在同一個Portlet 應用中共享類裝載器、應用context session

老文原創

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章