Let's go inside

          this blog is deprecated as a result of laziness.
          posts - 59, comments - 2, trackbacks - 0, articles - 0

          導航

          常用鏈接

          留言簿(4)

          隨筆分類(60)

          隨筆檔案(59)

          J2EE相關技術

          個人空間

          友情鏈接

          搜索

          •  

          積分與排名

          • 積分 - 41129
          • 排名 - 1143

          最新評論

          閱讀排行榜

          什么是Portal

          Posted on 2006-09-12 19:03 Earth 閱讀(367) 評論(0)  編輯  收藏 所屬分類: JSR168

          什么是Portal?
          Portal是一個基于web的應用程序,它主要提供個性化、單點登錄、不同來源的內容整合以及存放信息系統的表示層。

          什么是Portlet?
          Portlet是基于java技術的web組件,它由portlet容器管理、并處理請求,并動態生成輸出內容。
          Portlet的輸出是一個片段,即不是一個完整的頁面。

          Portal標準
          為規范Portal,SUN于2003年底制定了JSR168,它定義了portlet標準,并給出了一個實現接口。

          Portlets與Servlet的異同?
          相同點
          基于web應用的java技術

          由特定的容器管理

          動態生成內容

          生命周期由容器進行管理

          通過request/reponse進行交互

          不同點
          portlet只生成片段

          portlet并不直接綁定到某一個URL上

          portlet通過portal進行交互

          portlet可以多次在同一個portal頁面上同時出現

          portlet優點
          能訪問到用戶配置信息

          能在不同的域中存儲會話:應用程序級到私有級。

          portlet與servlet的關系
          前者能調用后者,并且能共享信息,包括:Attributes

          portlet容器是servlet容器的擴展

          portlet無法做到的事情
          設置response的字符集編碼

          設置http header

          獲取客戶端的request

          Portlets實例
          如果是在普通的場合下使用,即不是在分布式場合,則每個portal應用就會生成一個portlet實例。而如果是在分布式場合下使用的話,則每個jvm只有一個實例。

          Portlet生命周期
          Portlet接口的四個方法構成一個完整的生命周期:init, processAction,render,destroy

          public void init(PortletConfig config) throws PortletException;

          由portlet容器調用,在將portlet放入服務區前調用。portlet容器在初始化portlet后,直接調用這個方法。

          public void processAction (ActionRequest request, ActionResponse response)
          throws PortletException, java.io.IOException;

          由portlet容器調用,用來處理action request。

          public void render (RenderRequest request, RenderResponse response)
          throws PortletException, java.io.IOException;

          由portlet容器調用,用來生成輸出。

          public void destroy();

          將portlet從服務區中刪除。

          Portlet URLs
          如何生成Portlet URL
          RenderResponse.createActionURL
          RenderResponse.createRenderURL

          調用setParameter、setParameters可以用來設置參數.

          如何使用Portlet URL
          開發者不可以對參數進行任何編碼,它(編碼)是由portlet容器進行的。見下面例子:

          PortletURL url = response.createRenderURL();
          url.setParameter(“customer”,”foo.com”);
          url.setParameter(“show”,”summary”);
          writer.print(“Summary”);

          portlet URL可以包含portlet的模式及窗口的狀態,見下面例子:

          PortletURL url = response.createActionURL();
          url.setParameter(“paymentMethod”,”creditCardInProfile”);
          url.setWindowState(WindowState.MAXIMIZED);
          writer.print(“ ”);

          setSecure方法用來設置是否是https。


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 宜昌市| 三亚市| 纳雍县| 渝中区| 乌审旗| 卓尼县| 遵义县| 云霄县| 达孜县| 靖安县| 阳山县| 嘉义县| 井冈山市| 沙坪坝区| 秭归县| 彭山县| 翁牛特旗| 濮阳县| 民县| 宁化县| 南陵县| 内黄县| 巴林右旗| 五河县| 浦江县| 余姚市| 白城市| 永清县| 清原| 衡山县| 九台市| 三亚市| 五大连池市| 南阳市| 江华| 含山县| 隆昌县| 彩票| 宁国市| 龙南县| 吴川市|