免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
hello world: websphere portal v5 最簡單的 portlet:第 1 部分,創(chuàng)建和部署

引言

經(jīng)常有人問我這個問題:“如果從頭開始的話,人們能夠通過 WebSphere Portal Version 5 創(chuàng)建的最簡單的 portlet是什么?”。固定不變的答案是“hello world”。本文將花較長的篇幅來詳細(xì)回答這個問題。我準(zhǔn)備帶您了解如何創(chuàng)建 WebSphere PortalV5 的最簡單的 protlet。您將從一些 Java 代碼開始,接著對其進(jìn)行編譯,然后打包。接下來,您將創(chuàng)建把有關(guān) portlet的信息告訴應(yīng)用程序服務(wù)器和門戶網(wǎng)站所需的部署描述符。最后,我們將其打包在一起,并將新的 portlet 部署到門戶網(wǎng)站內(nèi)。

創(chuàng)建目錄結(jié)構(gòu)

首先創(chuàng)建一個目錄結(jié)構(gòu),您將在這個目錄結(jié)構(gòu)中創(chuàng)建 portlet。下面是我將用于這個簡單的 portlet 的目錄結(jié)構(gòu):

  • helloWorld\com\ibm\portlets\sample -- 存放源代碼的位置
  • helloWorld\WEB-INF -- 部署描述符所在的位置
  • helloWorld\WEB-INF\lib -- JAR 文件存放的位置

創(chuàng)建 Java文件

sample 目錄是您將存放 Java 源代碼的位置。在 sample 目錄中創(chuàng)建一個名為 HelloWorld.java 的文件,然后用您喜歡的文本編輯器打開該文件。下面是您需要輸入(或者復(fù)制、粘貼)到 HelloWorld.java 文件中的類:

package com.ibm.portlets.sample;  //portlet APIs import org.apache.jetspeed.portlet.*;  //Java stuff import java.io.*;  public class HelloWorld extends PortletAdapter {    public void         service(PortletRequest         request, PortletResponse         response)     throws PortletException,         IOException {      PrintWriter writer =         response.getWriter();     writer.println("        hello, world");   } }                      

編譯代碼

一旦您已經(jīng)創(chuàng)建好了源文件,就可以對 Java 代碼進(jìn)行編譯了。在一個批處理文件中可以使用下面的腳本來編譯 portlet。您首先定義一些環(huán)境變量(例如,Java 主目錄的位置)。用 WebSphere Application Server 附帶的 JDK對此進(jìn)行編譯通常是一個好主意,因為這是您將要運行應(yīng)用程序的環(huán)境。您還要設(shè)置 PATH 以便訪問 Java 編譯器。此外還需要將變量LIBPATH 設(shè)置為指向 WebSphere JAR 文件所在的目錄。

接下來,您為我們的編譯類路徑構(gòu)建一個名為 CP 的變量。CP變量可以構(gòu)建在一行上,但是為了說明所需的不同 JAR 文件,我們將其拆開分行顯示。然后,您調(diào)用 Java 編譯器來對代碼進(jìn)行編譯。這假定您位于helloWorld 目錄下。請將目錄路徑調(diào)整為適合安裝的路徑。

set JAVA_HOME=C:\WebSphere\AppServer\java set PATH=%JAVA_HOME%\bin set LIBPATH=C:\WebSphere\AppServer\lib set CP=. set CP=%CP%;%LIBPATH%\j2ee.jar set CP=%CP%;%LIBPATH%\dynacache.jar set CP=%CP%;C:\WebSphere\PortalServer\shared\app\portlet-api.jar  javac -classpath %CP% com\ibm\portlets\sample\HelloWorld.java                 

如果由于某些原因這不能編譯,您必須在往下繼續(xù)之前修正錯誤。一些常見的錯誤是:

  • 輸入錯誤 -- 類名稱、路徑、變量名稱輸入錯誤
  • 文件名稱 -- 文件名稱必須和類名稱匹配。在我們的例子中,文件名是 HelloWorld.java ,類名稱是 HelloWorld 。如果您已經(jīng)改變了一個名稱,另一個名稱也要改變。
  • 編輯器錯誤 --確定編輯器確實將文件存儲為文本。像寫字板這樣的編輯器,不會將文件默認(rèn)存儲為文本。

創(chuàng)建 JAR 文件

在完成了 Java 源文件的編譯以后,您就需要在 WEB-INF\lib 目錄下創(chuàng)建一個 JAR 文件。再次假設(shè)您位于 helloWorld 目錄下。如果您在 編譯代碼一節(jié)創(chuàng)建了一個批處理文件,就可以將這些語句作為該文件的一部分包含在其中。這取決于您已經(jīng)將 PATH 設(shè)置為指向 jar 程序。

set JAVA_HOME=C:\WebSphere\AppServer\java set PATH=%JAVA_HOME%\bin  jar -cv0f .\WEB-INF\lib\HelloWorld.jar com/ibm/portlets/sample/*.class                 

創(chuàng)建部署描述符

現(xiàn)在,您需要創(chuàng)建兩個 XML 文件:

  • helloWorld/WEB-INF/web.xml — Web 部署描述符。
  • helloWorld/WEB-INF/portlet.xml — portlet 部署描述符。

web.xml— Web 部署描述符

Web 部署描述符是 WebSphere Portal 所需要的?,F(xiàn)在 Portlet 擴(kuò)展了 Servlet,所以需要使用 Web 部署描述符來聲明 Servlet(portlet)類。

<?xml version=        "1.0" encoding=        "UTF-8"?> <!DOCTYPE web-app   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"   "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app id="HelloWorldWebApp">   <display-name>HelloWorldPortlet<        /display-name>   <servlet id="Servlet_1">     <servlet-name>HelloWorld<        /servlet-name>     <servlet-class>com.ibm.portlets.sample.HelloWorld<        /servlet-class>   </servlet>   <servlet-mapping id=        "ServletMapping_1">     <servlet-name>HelloWorld<        /servlet-name>     <url-pattern>/HelloWorld/*<        /url-pattern>   </servlet-mapping> </web-app>                

portlet.xml— portlet 部署描述符

portlet 部署描述符向門戶網(wǎng)站定義 portlet。每個 portlet 通過 portlet 元素的 href 屬性映射到 Web 部署描述符中定義的一個 Servlet 上。以 粗體表示這些引用。portlet必須定義一個惟一的 id,每個具體的 portlet 都能引用該 id。每個具體的 portlet 使用 concrete-portlet 元素的 href 屬性的特定 id 來引用 portlet。以藍(lán)色表示這些引用。

<?xml version=        "1.0" encoding=        "UTF-8"?> <!DOCTYPE portlet-app-def   PUBLIC "-//IBM//DTD Portlet Application 1.1//EN" "portlet_1.1.dtd"> <portlet-app-def>   <portlet-app uid=        "com.ibm.portlets.sample.HelloWorld.1" major-version="1"        minor-version="0">     <portlet-app-name>HelloWorld0Portlet<        /portlet-app-name>  <portlet href=        "WEB-INF/web.xml#Servlet_1"id="Portlet_1" major-verion="1" minor-verion="0">       <portlet-name>HelloWorld<        /portlet-name>       <cache>         <expires>0<        /expires>         <shared>no<        /shared>       </cache>       <allows>         <maximized/>         <minimized/>       </allows>       <supports>         <markup name=        "html">           <view/>         </markup>       </supports>     </portlet>   </portlet-app>   <concrete-portlet-app uid=        "com.ibm.portlets.sample.HelloWorld.1.2">     <portlet-app-name>Concrete HelloWorld<        /portlet-app-name>     <context-param>       <param-name>Author<        /param-name>       <param-value>tcat@us.ibm.com<        /param-value>     </context-param>    <concrete-portlet         href="#Portlet_1">      <portlet-name>HelloWorld<        /portlet-name>       <default-locale>en<        /default-locale>       <language locale=        "en">         <title>Hello World</title>         <title-short></title-short>         <description></description>         <keywords></keywords>       </language>     </concrete-portlet>   </concrete-portlet-app> </portlet-app-def>                      

創(chuàng)建這些 XML文件時,許多地方會出錯。只有在您試圖將 portlet 部署到門戶網(wǎng)站時才會發(fā)現(xiàn)這些錯誤。這里有一些需要特別注意的地方:

  • 檢查每一個 XML 元素,確保它們都有一個閉元素。
  • 檢查類名是否輸入錯誤,對于本例來講,檢查您給類起的名稱是否是 HelloWorld 。
  • 確保 id 和 href 相匹配。
  • 確保編輯器確實將文件保存成文本。

創(chuàng)建 WAR 文件

最后,我們就可以創(chuàng)建供分發(fā)的 WAR文件了。我們將使用標(biāo)準(zhǔn) jar 命令來構(gòu)建 WAR 文件。在 helloWorld 目錄下運行以下命令:

set JAVA_HOME=C:\WebSphere\AppServer\java set PATH=%JAVA_HOME%\bin  jar -cf HelloWorld.war WEB-INF                 

部署 WAR文件

  1. 以門戶網(wǎng)站管理員的身份( wpsadmin )登錄到門戶網(wǎng)站。
  2. 在缺省主題的右上角選擇 Administration鏈接。

    圖 1. 管理員鏈接

  3. 在左邊選擇 Portlets頁面,并選擇 Installportlet。

    圖 2. 安裝 portlet 管理頁面

  4. 單擊
  5. 找到 WAR文件的位置,選定,然后單擊
    。

    圖 3. 文件選擇對話框

  6. 單擊
    。這可能要花費一些時間,請耐心等待它完成。
  7. 驗證 Portlet是否為 HelloWorld。單擊
    。再次等待直到安裝完成。

    圖 4. Portlet 安裝驗證屏幕

  8. 最后,您將看到這條確認(rèn)消息:
    。

如果在部署過程中碰到某類出錯信息,這通常意味著您在某個 XML文件中出錯了。仔細(xì)分析安裝頁面呈現(xiàn)給您的出錯信息,您通常能夠從中找到出錯的原因。這些信息也會記錄在最新的日志文件中:
%WPS_HOME%/log/wps_YYYY.MM.DD-HH.MM.SS.log

創(chuàng)建部署描述符列出了 XML 文件的常見錯誤。您還應(yīng)該檢查下列內(nèi)容:

  • XML聲明必須位于文件的第一行(沒有空格)。
  • 在正確的大小寫情況下,xml 文件有正確的名稱。

將 portlet 添加到某一頁面中

  1. 在左邊選擇 Portal User Interface頁面。
  2. 點擊 Manage Pagesportlet。

    圖 5. 管理頁面 portlet

  3. 然后選擇 My Portal頁面。
  4. 單擊
    。
  5. 為新頁面鍵入一個標(biāo)題。
  6. 單擊
    。
  7. 看到
    以后單擊
    。
  8. 單擊新頁面邊上的編輯頁面圖標(biāo)
    。
  9. 單擊
    。
  10. 搜索 Hello ,單擊
    。
  11. 選中 Hello World portlet 并單擊
    。

    圖 6. 查找 portlets

  12. 單擊
    來完成頁面版面設(shè)計。

    圖 7. 編輯版面設(shè)計

  13. 在右上角單擊 My Portal 鏈接,然后選擇您創(chuàng)建的頁面。

    圖 8. 顯示我們創(chuàng)建的 portlet 的門戶網(wǎng)站

結(jié)束語

現(xiàn)在您已經(jīng)創(chuàng)建了一個新的 portlet,您應(yīng)該為此而感到高興!您現(xiàn)在知道了如何從頭開始創(chuàng)建一個簡單的 portlet。首先編寫、編譯并打包Java 代碼。然后創(chuàng)建部署描述符,并將 portlet 打包以便分發(fā)和部署。最后,將 portlet 部署到您的門戶網(wǎng)站中。

從現(xiàn)在開始,編寫任何 portlet 對您來說都是可能的。祝您好運,玩得開心!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java Portlet 規(guī)范概述
編寫 portlet
Servlet 實例 | 菜鳥教程
portlet部署描述符
Portal技術(shù)學(xué)習(xí)
真正的java學(xué)習(xí)從入門到精通
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服