資源描述:
《jsr 286 portlet 新特性》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第一部分Portlet2.0新特性介紹====================================================================== 關(guān)于本系列 本系列文章專門針對具有JSR168Portlet開發(fā)基礎(chǔ),并且想了解JSR286Portlet新特性和開發(fā)流程的開發(fā)人員。在學(xué)習(xí)完本系列后,您將了解相對于JSR168Portlet,JSR286Portlet究竟提供了哪些增強功能,以及這些新增特性在實際開發(fā)中的應(yīng)用。 第1部分將簡單回顧JSR168Portlet,并列出了JSR286Portlet的新增
2、內(nèi)容?! 〉?部分和第3部分將通過在ApachePluto2.0平臺上開發(fā)和部署Portlet應(yīng)用程序,向讀者介紹JSR286Portlet新特性的使用方法。 關(guān)于本文 本文假定讀者熟知JSR168Portlet,并對J2EE基本常識有一定了解。本文主要以理論的方式向讀者介紹JSR286Portlet的以下新增特性: 資源服務(wù) 事件 共享呈現(xiàn)參數(shù) Portlet過濾器 Portlet窗口 Portlet和JSR168 Portlet是部署在容器內(nèi)用來生成動態(tài)內(nèi)容的Web組件,與servlet類似,portlet的整個生命周期從in
3、it到destroy的過程都在portlet容器中進(jìn)行。JavaPortletSpecification對portletAPI、標(biāo)準(zhǔn)化用戶數(shù)據(jù)、參數(shù)設(shè)置、portlet請求以及響應(yīng)、部署、打包以及安全等方面都做了詳細(xì)的規(guī)定,以此來實現(xiàn)portlet之間以及portlet與portlet容器之間的交互和協(xié)作。JavaPortletSpecification1.0,即JavaSpecificationRequest(JSR)168發(fā)布于2003年10月?! SR286及其新特性 JSR168目前在業(yè)界受到廣泛支持,而且它由開放源碼支持。標(biāo)準(zhǔn)和產(chǎn)品的
4、第一個版本存在一定的缺陷,僅支持最基本的用例,在功能上有一些限制。而且JavaPortletSpecificationV1.0也存在這種情況,因此,經(jīng)過三年之后,大多數(shù)支持JavaPortletSpecificationV1.0的門戶產(chǎn)品都提供一些附加擴展,以支持更高級的用例,這些附加的擴展造成了各個門戶產(chǎn)品的標(biāo)準(zhǔn)不統(tǒng)一,彼此間的交互協(xié)作成了不可避免的問題。為了更好地規(guī)范portlet開發(fā),以適應(yīng)業(yè)界發(fā)展,并提供適應(yīng)于最高級別用例的標(biāo)準(zhǔn)解決方案,從而為這些高級功能提供互操作性,在2005年11月開始了JavaPortletSpecification
5、V2.0(稱為JSR286)的開發(fā),JavaPortletSpecificationV2.0目前已經(jīng)進(jìn)入Finaldraft的等待審批階段,并計劃在2008年3月正式發(fā)布。JSR286最終草案兼容了JSR168,并完善了JSR168的部分功能,并提供了諸多JSR168所沒有的新特性,例如資源服務(wù)、事件、portlet過濾器、共享呈現(xiàn)參數(shù)及portlet窗口等。與V1.0類似,V2.0也將基于J2EE1.4,因此可讓Portlet使用J2EE1.4增強(如JSP2.0)。下面是該新規(guī)范的一些主要功能及特性: 資源服務(wù):一種新的通過portlet呈現(xiàn)
6、資源的方式?! ∈录和ㄟ^發(fā)送事件和接收事件來實現(xiàn)portlet之間的通信?! ortlet過濾器:與servlet過濾器類似,根據(jù)Portlet請求和響應(yīng)動態(tài)的呈現(xiàn)內(nèi)容的變換。存在以下四種類型的portlet過濾器: Action過濾器 Render過濾器 Resource過濾器 Event過濾器 共享呈現(xiàn)參數(shù):除了portlet私有的呈現(xiàn)參數(shù)之外,新增了可以在portlet之間共享的呈現(xiàn)參數(shù)?! ortlet窗口:提供portlet窗口ID供portlet使用?! ∠旅嫖覀儗SR286所提供的這些新功能及其使用逐一做詳細(xì)介紹。
7、 資源服務(wù) 在JSR168中,Portlet服務(wù)于資源的方法只有兩種:直接鏈接到資源,或者通過Portlet服務(wù)于資源。兩種方法分別適用于不同目的的需要,各有優(yōu)缺點?! ≈苯渔溄訉τ谒蠵ortlet狀態(tài)都相同的靜態(tài)資源非常有效,但對于其他用例效果卻不太好,因為需要考慮來自Portlet上下文的信息。這樣的示例包括基于Portlet模式、窗口狀態(tài)、當(dāng)前呈現(xiàn)參數(shù)或Portlet首選項呈現(xiàn)不同資源。 以一個JSP文件test.jsp為例,如果要訪問該資源,可以直接通過超鏈接訪問該文件,如清單1所示:清單1.直接訪問資源文件8、url value="/test.jsp" />">test.jsp
或者通過Servlet轉(zhuǎn)向,如清單2和清