Terry.Li-彬

          虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
           部署自己的Portlet
          Liferay Portal跟Tomcat5.0集成在一起,從本質上講,liferay-portal-pro-3.6.0-tomcat.zip是一個Tomcat 壓縮包,只是其中將liferay作為默認應用,并將跟Portlet有關的操作都交給liferay應用處理而已。因此,Liferay Portal支持所有針對Tomcat5.0的部署方式,包括:手動部署、Ant部署,并且支持熱部署。
          第一節  手動部署
          手動部署可以采用拷貝文件夾、war部署、編寫部署文件三種方式:
          ①、拷貝文件夾:與單純的Tomcat一樣,我們可以將{APP_HOME}\webapp目錄拷貝到{PORTAL_HOME}\webapps\下,該 webapp目錄名為TestPortal。啟動Liferay Portal(雙擊{PORTAL_HOME}\bin\startup。bat)即可。
          ②、war部署:或者將{APP_HOME}\ webapp打包成TestPortal.war,拷貝war到{PORTAL_HOME}\webapps\下,啟動Liferay Portal,讓Tomcat自動解壓。在命令行模式下切換到{APP_HOME}\webapp目錄,執行 jar cvf TestPortal.war * 。
          ③、編寫部署文件:
          {PORTAL_HOME}\conf\Catalina\localhost目錄下,創建TestPortal.xml文件,內容如下:
          <Context path="/TestPortal" docBase="D:\TestPortal\webapp" debug="0" reloadable="true" crossContext="true">
          </Context>
          部署成功后,登錄Liferay Portal,可以在桌面底部的下拉列表中看到HelloWorldPortlet和HelloJSPPortlet兩個Portlet。將它們添加到桌面中。
          第二節  Ant自動部署
          確保之前已經安裝Apache Ant,并正確添加ANT_HOME到系統環境變量。
          ①、拷貝之前打包的TestPortlet.war到{APP_HOME}/deploy目錄;
          ②、從http://prdownloads。sourceforge。net/lportal/Portlet-deployer-3。6。0。xml 下載Portlet-deployer-3.6.0.xml 到{APP_HOME}\deploy,改名為build。xml以便Ant自動加載;
          ③、確保JDK1.4.2和Ant 1.6安裝成功,并配置到系統環境變量;
          ④、確保Tomcat或者其他服務器已經正確安裝,或者Liferay Portal正常安裝。
          編輯build.xml,使其只想你的應用服務器或者Servlet容器。比如,如果你安裝JBoss+Jetty到/opt/liferay目錄,那么編輯build.xml,確保只有JBoss+Jetty部分沒有被注釋,修改app.server屬性為/opt/liferay。
          Build.xml默認是開啟JBoss+Jetty部分,本文采用的是Tomcat集成包,所以將JBoss+Jetty部分注釋掉,開始Tomcat部分。修改app.server.dir屬性,指向{PORTAL_HOME}。如下圖:
          ⑤、命令行切換到到{APP_HOME}/deploy目錄,執行 ant deploy ,系統會自動將TestPortal。war解壓,必要時修改web.xml、portlet.xml等部署文件,將解壓后的TestPortal文件夾拷貝到{PORTAL_HOME}\webapps目錄下。
          啟動Liferay Portal之前,建議先確認修改后的web.xml、portlet.xml等部署文件是否正確。
          第三節  加入Liferay Portal自有列表
          之前我們提到過,Liferay Portal集成了78個默認的Portlet應用。這些應用都通過{PORTAL_HOME}\liferay\WEB-INF\目錄下的 portlet.xml、liferay-portlet.xml、liferay-display。xml描述。我們只要更改這些描述文件,就可以將我們自己的應用加入到Liferay Portal的Portlet列表中了,效果跟手動部署和Ant自動部署一樣。
          ①、拷貝{APP_HOME}\webapp目錄的內容到{PORTAL_HOME}\liferay\html\Portlet目錄下,更改文件夾名稱為TestPortal。
          ②、將TestPortal\WEB-INF\classes文件夾剪切到{PORTAL_HOME}\liferay\WEB-INF目錄下。
          ③、將TestPortal\WEB-INF\web。xml中<servlet>、<servlet-mapping>的內容合并到{PORTAL_HOME}\liferay\WEB-INF\web.xml中。刪除TestPortal\WEB-INF\web.xml。
          ④、將TestPortal\WEB-INF\Portlet.xml中關于HelloWorldPortlet和HelloJSPPortlet的< portlet>的內容合并到{PORTAL_HOME}\liferay\WEB-INF\portlet.xml中。刪除TestPortal \WEB-INF\ portlet.xml。
          ⑤、將TestPortal\WEB-INF\liferay-portlet.xml中關于 HelloWorldPortlet和HelloJSPPortlet的<portlet>的內容合并到{PORTAL_HOME}\ liferay\WEB-INF\liferay-portlet.xml中。刪除TestPortal\WEB-INF\liferay- portlet.xml。
          ⑥、將TestPortal\WEB-INF\liferay-display.xml中關于 HelloWorldPortlet和HelloJSPPortlet的<portlet>的內容合并到{PORTAL_HOME}\ liferay\WEB-INF\liferay- display.xml中。刪除TestPortal\WEB-INF\ liferay- display.xml。
          這個方法比較復雜,而且不容易擴展和調試,通常不建議采用。
          第四節  普通Java Web應用轉化為Portlet應用
          隨著開發的深入,我們希望能夠將原來的Java Web應用遷移到Liferay Portal,構建真正的企業門戶。Liferay Portal靈活的二次開發機制,允許用戶將各種各樣的內容集成到Portal平臺上來,消除信息孤島。將一個Java Web應用轉化為Portlet應用的步驟如下:
          ①、撰寫擴展自GenericPortlet的Portlet和JSP頁面。這個Portlet可以使用PrintWriter輸出或者調用JSP頁面輸出方式。通常,如果Java Web應用是采用MVC三層模式,那么只需要更改View層就可以了。
          ②、修改web.xml,增加2。6。1所述的Portlet監聽器和Portlet標簽庫,增加針對上步驟所寫的servlet和servlet映射。
          <servlet>
          <servlet-name>yourPortlet</servlet-name>
          <servlet-class>com.liferay.portal.servlet.PortletServlet</servlet-class>
          <init-param>
          <param-name>Portlet-class</param-name>
          <param-value>full.name.of.yourPortlet</param-value>
          </init-param>
          <load-on-startup>0</load-on-startup>
          </servlet>
          <servlet-mapping>
          <servlet-name>yourPortlet</servlet-name>
          <url-pattern>/yourPortlet/*</url-pattern>
          </servlet-mapping>
          ③、創建portlet.xml,增加相應的Portlet定義信息,規范參考2.6.2。
          ④、創建liferay-portlet.xml,增加相應的Portlet定義信息,規范參考2.6.3。
          ⑤、創建liferay-display.xml,增加相應的Portlet類別定義信息,規范參考2.6.4。
          ⑥、拷貝portlet.jar和liferay-Portlet.tld到當前應用。其中,portlet.jar是Portlet API包,作用類似servlet-api.jar,位于{PORTAL_HOME}\common\lib\ext\liferay- portlet.tld是Liferay Portal提供的Portlet標簽庫。
          ⑦、選擇適當的部署方式,將修改后的Java Web應用部署到Portlet平臺上。
          posted on 2008-03-08 09:42 禮物 閱讀(1392) 評論(0)  編輯  收藏 所屬分類: Liferay
          主站蜘蛛池模板: 靖边县| 广德县| 从化市| 金平| 莱阳市| 南和县| 盐山县| 东兰县| 天峻县| 镇宁| 桦南县| 衡阳县| 襄城县| 广昌县| 芜湖市| 宜州市| 和平县| 郑州市| 康平县| 历史| 隆子县| 澄城县| 樟树市| 抚远县| 宜兰县| 天等县| 海门市| 海晏县| 河池市| 乌兰浩特市| 富锦市| 鄢陵县| 鄯善县| 于都县| 旺苍县| 永登县| 南开区| 沙河市| 通州区| 清徐县| 紫云|