国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
portal/portlet的基本概念
JSR168中定義了Portal的實(shí)現(xiàn)規(guī)范和接口,并對(duì)理想的Portlet進(jìn)行了詳細(xì)的規(guī)劃和描述。
它的特點(diǎn)在于生產(chǎn)者將消費(fèi)者所需要的信息通過WSRP返回給消費(fèi)者,這些信息是相對(duì)標(biāo)記片斷,例如HTML、XHTML等,可以直接嵌入用戶的頁(yè)面中,而不用像Web Service一樣開發(fā)用戶端接口。
實(shí)現(xiàn)這個(gè)規(guī)范,Portal可以跟各式各樣的數(shù)據(jù)源打交道,徹底終結(jié)信息孤島的窘境。

什么是Portal
Portal是基于Web的,以“應(yīng)用整合”和“消除信息孤島”為最終目的,提供單點(diǎn)登錄、內(nèi)容聚合、個(gè)性化門戶定制等功能的綜合信息系統(tǒng)。

完整的Portal通常由Portal服務(wù)器、Portlet容器、Portlet構(gòu)成。
Portal 服務(wù)器Portal服務(wù)器是容納Portlet容器,支持Portlet呈現(xiàn)的普通或者特殊Web服務(wù)器。Portal服務(wù)器通常會(huì)提供個(gè)性化設(shè)置、單點(diǎn)登錄、內(nèi)容聚合、信息發(fā)布、權(quán)限管理等功能,支持各種信息數(shù)據(jù)來(lái)源,并將這些數(shù)據(jù)信息放在網(wǎng)頁(yè)中組合而成,提供個(gè)性化的內(nèi)容定制,不同權(quán)限的瀏覽者能夠?yàn)g覽不同的信息內(nèi)容。通常,Portal提供以下功能:

單點(diǎn)登錄:Portal通常采用ACL、SSL、LDAP等業(yè)界標(biāo)準(zhǔn)的安全技術(shù),提供對(duì)所有現(xiàn)有應(yīng)用系統(tǒng)的安全集成,只需在Portal的唯一入口上登錄一次,就可以訪問所有應(yīng)用系統(tǒng)和數(shù)據(jù)。對(duì)于安全性要求較高的應(yīng)用系統(tǒng),如電子商務(wù)平臺(tái)、交易系統(tǒng)等,通過擴(kuò)展接口傳遞用戶身份信息,如數(shù)字證書信息、數(shù)字簽名信息等,進(jìn)行二次身份認(rèn)證,保證單點(diǎn)登陸的安全性。

權(quán)限控制:系統(tǒng)采用LDAP對(duì)用戶資源進(jìn)行統(tǒng)一的管理,同時(shí)提供二次開發(fā)接口,可以與其他應(yīng)用系統(tǒng)的用戶管理模塊對(duì)接,并能隨相關(guān)業(yè)務(wù)系統(tǒng)實(shí)時(shí)更新訪問權(quán)限。通過完善的授權(quán)機(jī)制及存取控制,用戶訪問權(quán)限控制到字段級(jí)別,確保用戶只能訪問具有權(quán)限的應(yīng)用系統(tǒng)及相關(guān)信息。

內(nèi)容管理: 實(shí)現(xiàn)應(yīng)用系統(tǒng)之間實(shí)時(shí)交換信息。采用多種緩存機(jī)制,保證內(nèi)容交換的性能和準(zhǔn)確性。采用基于XML的Rich Site Summary (RSS)標(biāo)準(zhǔn),迅速在各應(yīng)用系統(tǒng)之間傳播最新變化。

信息發(fā)布: 實(shí)現(xiàn)信息門戶內(nèi)容的動(dòng)態(tài)維護(hù)。動(dòng)態(tài)網(wǎng)站系統(tǒng)可與OA協(xié)同辦公系統(tǒng)、知識(shí)管理系統(tǒng)等集成,網(wǎng)站信息須經(jīng)OA系統(tǒng)的審批流程流轉(zhuǎn)通過后或知識(shí)管理平臺(tái)設(shè)置具有外部共享權(quán)限后才可正式發(fā)布,真正實(shí)現(xiàn)內(nèi)外信息發(fā)布的同步。

文件管理: 系統(tǒng)實(shí)現(xiàn)無(wú)縫集成多種數(shù)據(jù)源,包括:數(shù)據(jù)庫(kù)、文檔(Office文檔、PDF、AutoCAD、甚至ZIP文檔)、Web網(wǎng)頁(yè)、FTP站點(diǎn)等,并對(duì)數(shù)據(jù)按業(yè)務(wù)要求和職務(wù)特點(diǎn)加以分析整理,通過統(tǒng)一Web界面主動(dòng)推送(Push)至用戶的門戶桌面,幫助用戶做出及時(shí)、正確的決策。

Portlet容器Portlet容器提供Portlet執(zhí)行的環(huán)境,包含很多Portlet并管理它們的生命周期,保存Portlet的定制信息。

一個(gè)Portal容器接收到來(lái)自Portal的請(qǐng)求后,接著將這個(gè)請(qǐng)求傳遞給存在Portal容器的Portlet 執(zhí)行。Portlet容器沒有義務(wù)去組合Portlet 產(chǎn)生的信息內(nèi)容,這個(gè)工作必須由Portal來(lái)處理。Portal和 Portal容器可以放在一起視為同一個(gè)系統(tǒng)的組件,或者分開成為兩個(gè)獨(dú)立的組件。

Portlet容器是普通Web Servlet容器的擴(kuò)展,所以一個(gè)Portlet容器可以構(gòu)建于一個(gè)已經(jīng)存在的Servlet容器或者可能實(shí)現(xiàn)全部Web Servlet容器的全部功能。無(wú)論P(yáng)ortlet容器怎么實(shí)現(xiàn),它的運(yùn)行環(huán)境總是假定它支持Servlet2.3規(guī)范。

通常,Portlet容器擴(kuò)展自普通的Servlet容器


Portlet與Servlet的關(guān)系Portlet被定義成為一個(gè)新的組件,具有新的明確的界面與行為。為了盡可能與現(xiàn)有的 Servlet 結(jié)合達(dá)到重復(fù)使用的目的,Portlet 的規(guī)范利用了 Servlet 的規(guī)范,許多觀念都很相似的,結(jié)合 Portlet、Servlet 及 Jsp 在同一個(gè)網(wǎng)站系統(tǒng)中,我們稱為Portlet 應(yīng)用 。在同一個(gè) Portlet 應(yīng)用 中,他們將分享同一個(gè)類加載器(ClassLoader),上下文(Context) 及 Session。

①、Portlet 和 Servlet 的相似之處

@ Portlet 也是 Java 技術(shù)的 web 組件
@ Portlet 也是有特定的 container 在管理
@ Portlet 可以動(dòng)態(tài)產(chǎn)生各種內(nèi)容
@ Portlet 的生命周期由 container 所管理
@ Portlet 和客戶端的互動(dòng)是通過 request/response 的機(jī)制

②、Portlet 和 Servlet 也有一些不同

@ Portlet 只產(chǎn)生 markup 信息片段,不是完整的網(wǎng)頁(yè)文件。而 Portal 會(huì)將所有的 Portlet markup 信息片段放到一個(gè)完整的 Portal 網(wǎng)頁(yè)。
@ Portlet 不會(huì)和 URL 有直接的關(guān)系
@ 客戶端必須通過 portal 系統(tǒng)才能和 Portlet 互動(dòng)
@ Portlet 有一些定義好的 request 處理,action request 以及 render request。
@ Portlet 默認(rèn)定義 Portlet modes 及窗口狀態(tài)可以指出在網(wǎng)頁(yè)中該 Portlet 的哪個(gè)功能正在執(zhí)行及現(xiàn)在的 狀態(tài)。
@ Portlet 可以在同一個(gè) portal 網(wǎng)頁(yè)之中存在多個(gè)。

③、Portlet 有一些附加的功能是 Servlet 所沒有的

@ Portlet 能夠存取及儲(chǔ)存永久配置文件及定制資料。
@ Portlet 可以存取使用者數(shù)據(jù)
@ Portlet 具有 URL 的重寫功能在文件中去動(dòng)態(tài)建立連結(jié),允許 portal server 不用去知道如何在網(wǎng)頁(yè)的片 段之中建立連結(jié)及動(dòng)作。
@ Portlet 可以儲(chǔ)存臨時(shí)性的數(shù)據(jù)在 Portlet session 之中,擁有兩個(gè)不同的范圍:
application-wide scope 及 Portlet private scope 。

④、Portlet 不具有一些功能, 但是 Servlet 卻有提供

@ Servlet 具有設(shè)置輸出的文字編碼( character set encoding)方式
@ Servlet可以設(shè)置 HTTP 輸出的 header
@ Servlet才能夠接收客戶對(duì)于 portal 發(fā)出的 URL 請(qǐng)求

Portlet的生命周期
Portlet的生命周期一個(gè)Portlet有著良好的生命周期管理,定義了怎樣裝載,實(shí)例化和初始化,怎樣響應(yīng)來(lái)自客戶端的請(qǐng)求及怎樣送出服務(wù)。這個(gè)Portlet生命周期由Portlet接口的init,processAction,render和destroy方法來(lái)表達(dá)。

載入和實(shí)例化:Portlet容器負(fù)責(zé)載入和實(shí)例化Portlet。當(dāng)Portlet容器運(yùn)行Portlet應(yīng)用或者延遲到Portlet需要服務(wù)使用者的請(qǐng)求時(shí),Portlet就會(huì)被載入并實(shí)例化。載入Portlet類后,Portlet類隨即被實(shí)例化。

初始化:Portlet類實(shí)例化后,Portlet容器還需要初始化Portlet。以調(diào)用Portlet去響應(yīng)客戶端的請(qǐng)求。Portlet容器呼叫Portlet接口中的init方法初始化Portlet。擴(kuò)展自PortletConfig的類可以取出定義在部署描述文件中的初始化參數(shù),以及Resource Bundle。

初始化異常:在 Portlet初始化期間,Portlet可能會(huì)丟出 UnavailableException 或 PortletException 異常。此時(shí),Portlet容器不能把 Portlet置入已啟動(dòng)的服務(wù),并且 Portlet容器必需釋放這個(gè) Portlet。 destory方法不能被呼叫,因?yàn)槌跏蓟徽J(rèn)為執(zhí)行失敗。發(fā)生 失敗后,Portlet容器會(huì)嘗試著重新實(shí)例化及初始化 Portlet。這個(gè)異常處理的規(guī)則是:由一個(gè)UnavailableException 指定一個(gè)不能執(zhí)行的最小時(shí)間,當(dāng)此異常發(fā)生時(shí),Portlet容器必需等到指定時(shí)間過去后才產(chǎn)生并且初始化一個(gè)新的 Portlet。

在初始化過程中所丟出的 Runtime Exception異常,被當(dāng)作 PortletException 來(lái)處理。


重要的基類:GenericPortlet像Servlet一樣,編寫的Portlet也必須直接或者間接的擴(kuò)展基類GenericPortlet,這個(gè)是由JCP針對(duì)Portal提出的JSR168規(guī)范定義的。只要擴(kuò)展自規(guī)范的GenericPortlet,所有的Portlet都可以在支持JSR168規(guī)范的Portal服務(wù)器上運(yùn)行。

GenericPortlet統(tǒng)一定義了可供Portal容器識(shí)別和調(diào)用的方法,包括:

public Init():初始化;

public Init(PortletConfig) :初始化;

public getInitParameter(String):取得在Portlet.xml中定義的初始化參數(shù);

public getInitParameterNames():取得在Portlet.xml中定義的全部初始化參數(shù);

public getPortletConfig():取得包含初始化參數(shù)的配置對(duì)象PortletConfig實(shí)例;

public getPortletContext():取得Portlet上下文;

public getPortletName():取得在Portlet.xml中定義的Portlet名稱。

public getResourceBundle(Locale) :取得Portlet國(guó)際化的Resource Bundle;

protected getTitle(RenderRequest) :取得Portlet的標(biāo)題;

protected doView(RenderRequest,RenderResponse) :Portlet瀏覽模式的處理方法;

protected doEdit(RenderRequest,RenderResponse) :Portlet編輯模式的處理方法;

protected doHelp(RenderRequest,RenderResponse) :Portlet幫助模式的處理方法;

protected doDispatch(RenderRequest,RenderResponse) :Portlet行為分發(fā);

protected processAction(RenderRequest,RenderResponse) :Portlet處理Action Request的方法;

protected render(RenderRequest,RenderResponse):Portal處理Render Request的方法;

public destroy():Portlet銷毀,終止其生命周期。

在Portlet Portal運(yùn)行的時(shí)候,doView、doEdit、doHelp三個(gè)方法分別被調(diào)用,用以生成Portlet標(biāo)記。同樣也可以調(diào)用Servlet生成Portlet標(biāo)記,或者不調(diào)用JSP或者Servlet,直接在方法中得到PrintWriter然后用最簡(jiǎn)單的pw.println()打印出內(nèi)容。這個(gè)過程類似Servlet.
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
liferay二次開發(fā)指南
深入理解Weblogic Portal8.1
關(guān)于Portlet和Portlet API
Liferay系列文章(四)Portal產(chǎn)品介紹--開放源碼Portal產(chǎn)品
什么是Portlet ?
Pluto Portlet容器的體系結(jié)構(gòu)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服