首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

JSR 168 Portlet 規範深度解析:Portal、Portlet Container 與 Portlet 三層架構

     編輯:J2EE

什麼是 Portal?

非一般搜尋入口網站,而是個人化、單一登入、整合異構資訊的 Web 平台。使用者可自訂 Portlet(小窗口)配置、風格、資料。典型範例:MyNetscape、MyYahoo。

Portal 三大核心組件

  1. Portal Server:呈現平台,提供個人化、單一登入、資訊聚合
  2. Portlet Container:執行環境,管理 Portlet 生命週期、偏好設定,接收請求轉發 Portlet
  3. Portlet:Java Web 元件,處理請求產生動態內容片段,可插拔、可聚合

Portlet vs Servlet

相同點不同點
  • Java Web 元件
  • 有專屬 Container 管理
  • 動態產生內容
  • 生命週期由 Container 管理
  • Request/Response 互動
  • Portlet 產生片段,非完整頁面
  • 無直接 URL 對應
  • 需透過 Portal 互動
  • 定義 Action/Render 請求處理
  • 有 Portlet Mode(View/Edit/Help)與 Window State
  • 單一頁面可共存多個 Portlet

Portlet 獨有功能:永久設定儲存、使用者資料存取、URL 重寫、雙範圍 Session。
Servlet 獨有功能:設定輸出編碼、HTTP Header、直接接收 URL 請求。

參考實作:Pluto (RI)

  • JSR 168 規範 2003/10/27 正式發布
  • RI 為 Apache Jakarta Pluto
  • 安裝:執行 %pluto%/bin/install 指定 Tomcat 目錄
  • 存取:https://localhost:8080/pluto/portal

核心控制定義

  • Portlet Modes:VIEW(顯示)、EDIT(設定)、HELP(說明)
  • Window States:NORMAL、MAXIMIZED、MINIMIZED
  • 權限控管:未登入者僅能 View/Help,不可 Edit

CSS 標準化(關鍵移植性)

規範定義標準 CSS 類別名稱:

  • Fonts: portlet-font, portlet-font-dim
  • Messages: portlet-msg-status, portlet-msg-error, portlet-msg-success...
  • Sections: portlet-section-header, portlet-section-body, portlet-section-alternate...
  • Forms: portlet-form-label, portlet-form-input-field, portlet-form-button...
  • Menus: portlet-menu, portlet-menu-item, portlet-menu-item-selected...

使用標準 CSS 即可移植至任何 JSR 168 相容 Portal,無需修改外觀代碼。

片段標記限制

  • HTML 片段禁止:base, body, iframe, frame, frameset, head, html, title
  • XHTML 片段禁止:base, body, iframe, head, html, title

其他關鍵特性

  • Security、Caching、Taglib
  • Portal 連結後端 EAI,提供單一登入、個人化、多裝置(PDA、手機)統一入口
  • 政府與大企業應採用此方案,透過 Web Service 實現資訊流/金流/物流整合
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved