用WebLogic頁面流編寫Web應(yīng)用_第1頁
用WebLogic頁面流編寫Web應(yīng)用_第2頁
用WebLogic頁面流編寫Web應(yīng)用_第3頁
用WebLogic頁面流編寫Web應(yīng)用_第4頁
用WebLogic頁面流編寫Web應(yīng)用_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、用weblogic頁面流編寫web應(yīng)用入門:web 應(yīng)用程序“老式”web 應(yīng)用程序的問題許多 web 應(yīng)用程序開發(fā)者總是面對的一個問題是,如何成功地對一個網(wǎng)站做出改變。這些開發(fā)者使用的 web 應(yīng)用程序技術(shù)使他們很難將用戶界面與解釋用戶輸入的邏輯分開。他們的 web 應(yīng)用程序使用 cfm、asp 或 jsp 頁,在其中 html 代碼、javascript、以及服務(wù)器端代碼全都嵌入到同一個頁面中。由于處理一個 web 頁面所需的服務(wù)器端邏輯直接存儲在該頁面中,相似的邏輯常常在各個 web 頁面中重復(fù)出現(xiàn),而不是一次性編碼到一個中心位置。其結(jié)果是,如果您需要改變解釋數(shù)據(jù)的方式,就得在執(zhí)行有關(guān)邏

2、輯的所有 web 頁面做出改變。由于“老式”web 應(yīng)用程序技術(shù)缺乏一個簡單易行的方法向用戶提供可視概觀,來了解各個頁面如何彼此聯(lián)系,問題變得更加復(fù)雜了。web 開發(fā)者或者得靠自己的記憶力來記住一個網(wǎng)站內(nèi)的流,或者得使用一個映射工具來攝取關(guān)于 web 應(yīng)用程序中頁面間關(guān)系的快照。而快照只是一個靜態(tài)反映,一旦對 web 應(yīng)用程序做出改變,快照就過時了。頁面流解決方案weblogic workshop 使用頁面流,可以輕而易舉地把用戶界面與導航和業(yè)務(wù)邏輯分開。一個頁面流由若干 jsp 頁組成,后者包含用戶界面元素和一個控制器 (jpf) 文件,文件中包含關(guān)于如何處理用戶提供的數(shù)據(jù)、隨后哪個頁面將被

3、返回給用戶的指示。頁面流提供 web 應(yīng)用程序的可視概觀,使您能看到各個 jsp 頁如何相互關(guān)聯(lián),并使您能快速生成 web 應(yīng)用程序的總體體系結(jié)構(gòu)。 此教程的內(nèi)容在此教程中,將學習用 weblogic workshop 生成 web 應(yīng)用程序的基本概念。您將創(chuàng)建一個讓用戶輸入其姓名并接收問候的頁面流。具體說,您將學習如何 (1) 生成一個 jsp 頁,在其中用戶可以輸入內(nèi)容;(2) 生成一個控制器文件,用它來接收用戶數(shù)據(jù)、對數(shù)據(jù)進行處理,并把結(jié)果傳送給另一個 jsp 頁;(3) 再生成一個 jsp 頁來顯示數(shù)據(jù)。入門:web 應(yīng)用程序核心概念本主題將闡明頁面流設(shè)計與開發(fā)的基本概念。什么是頁面流

4、?頁面流應(yīng)用程序是具有特殊結(jié)構(gòu)的 web 應(yīng)用程序。包括下列元素:jsp 文件jsp 文件包含頁面流應(yīng)用程序的表示元素。換句話說,即包含在瀏覽器中顯示的用戶界面。web 應(yīng)用程序可以有任意多個所需的 jsp 頁,每一個 jsp 頁可以包含任何普通 jsp 頁所具有的所有元素。一個頁面流中的 jsp 頁通常包含 html 元素和 netui 標記,這些標記為 weblogic workshop 所提供的自定義標記。控制器文件控制器文件包含 web 應(yīng)用程序的業(yè)務(wù)邏輯和導航邏輯。您的 web 應(yīng)用程序可以只有一個控制器文件,也可以有許多個控制器文件,其中每一個執(zhí)行該 web 應(yīng)用程序的某個部分的業(yè)

5、務(wù)和導航邏輯??刂破魑募ǔ0瑪?shù)個“操作方法”。當用戶把一個請求發(fā)送到服務(wù)器時(例如,按下 web 頁面上的“submit”按鈕),一個操作方法就會包含描述如何處理這個用戶請求的業(yè)務(wù)邏輯。這個操作方法也會包含導航邏輯,描述哪一個 jsp 頁應(yīng)當隨后返回給用戶。在一個叫做“流視圖”的專門圖形視圖中,可以閱讀控制器文件?!傲饕晥D”能顯示 web 應(yīng)用程序中的導航流。數(shù)據(jù)綁定用戶請求通常包含用戶通過填寫 jsp 頁上的字段而提供的數(shù)據(jù)。當用戶提交填寫好的數(shù)據(jù),例如其姓名和年齡時,控制器文件對該數(shù)據(jù)的接收必須正確無誤,以分清哪項數(shù)據(jù)對應(yīng)于用戶姓名,哪項數(shù)據(jù)對應(yīng)于其年齡。將用戶輸進一個字段的輸入與一項

6、屬性正確相聯(lián)的過程,叫做數(shù)據(jù)綁定。另一方面,jsp 頁經(jīng)常需要顯示數(shù)據(jù)。數(shù)據(jù)并非靜態(tài)的,而有可能從一個數(shù)據(jù)庫讀入、早些時候從一個用戶收到,或根據(jù)其他動態(tài)數(shù)據(jù)計算而得。同樣,必須正確進行數(shù)據(jù)綁定,以保證 jsp 頁上的某個表示元素顯示的是正確的數(shù)據(jù)。有多種方法來完成數(shù)據(jù)綁定。用戶輸入通常利用一個表單 bean 來處理,表單 bean 包含一套屬性,對應(yīng)于輸入到頁面上的字段中的數(shù)據(jù)。例如,一個表單 bean 可能有一個用于存儲姓名的 string name 屬性,一個用于存儲年齡的 int age 屬性,等等。顯示數(shù)據(jù)的方法,僅舉兩例:可以用一個表單 bean,或者把參數(shù)加到一個 url 上。在本

7、教程中,將使要顯示的數(shù)據(jù)成為請求對象的一個特性,該請求對象是可由 jsp 頁讀取的一個特殊對象。用 weblogic workshop 設(shè)計頁面流頁面流是用 weblogic workshop,一種設(shè)計 j2ee 應(yīng)用程序的可視工具,來開發(fā)的。下面的圖像顯示完成教程后得到的結(jié)果?!皯?yīng)用程序”選項卡(區(qū)域 1)顯示此應(yīng)用程序的源文件。 “主工作區(qū)域”(區(qū)域 2)顯示您正在生成的頁面流組件的幾個視圖。在上面的圖片中,在流視圖中顯示了一個控制器 (jpf) 文件。此流視圖顯示這個 web 應(yīng)用程序的導航流。 在“屬性編輯器”(區(qū)域 3)您可以看到在主區(qū)域打開的頁面流組件的屬性,并對其進行設(shè)置。一個

8、web 項目文件夾保存運行 web 應(yīng)用程序所需的所有頁面流組件。在本教程中,您將開發(fā)位于一個名為 gettingstarted_webapp 的 web 項目文件夾(區(qū)域 4)中的頁面流應(yīng)用程序。步驟 1:創(chuàng)建 web 應(yīng)用程序項目在此步驟中將創(chuàng)建要在整個教程中使用的應(yīng)用程序。在 weblogic workshop 中,一個應(yīng)用程序包含一個或多個項目,這些項目包含此應(yīng)用程序的各個組件。在本教程中,將創(chuàng)建一個頁面流 web 項目。 此步驟包括下列任務(wù):· 啟動 weblogic workshop· 創(chuàng)建應(yīng)用程序· 啟動 weblogic server啟動 webl

9、ogic workshop. 在 microsoft windows 上如果您使用的是 windows 操作系統(tǒng),請按照下面的說明操作。1. 在“開始”菜單中,選擇“程序”->“weblogic platform 8.1”->“quickstart”。 2. 在“quickstart”對話框中,單擊“體驗 weblogic workshop 8.1”。 .在 linux 上如果您使用的是 linux 操作系統(tǒng),請按照下面的說明操作。1. 打開文件系統(tǒng)瀏覽器或外殼。 2. 在以下地址查找 "workshop.sh" 文件: 3. $home/bea/weblogi

10、c81/workshop/workshop.sh4. 在命令行中鍵入下列命令:5. sh workshop.sh 創(chuàng)建應(yīng)用程序1. 從“文件”菜單中,選擇“新建”->“應(yīng)用程序”。2. 在“新建應(yīng)用程序”對話框中,選擇“全部”,在右上角窗格中,選擇“默認應(yīng)用程序”,在“名稱”字段中,輸入 gettingstarted_webapp,在“目錄”字段中,使用“瀏覽”按鈕選擇一個保存源文件的位置。建議選擇 bea_homeuser_projectsapplicationsgettingstarted_webapp,在“服務(wù)器”字段中,選擇 bea_homeweblogic81samp

11、lesdomainsworkshop。3. 單擊“創(chuàng)建”。 當您創(chuàng)建新的默認應(yīng)用程序時,workshop 創(chuàng)建在右邊顯示的應(yīng)用程序結(jié)構(gòu)。頂層文件夾 gettingstarted_webapp 是包含整個應(yīng)用程序的文件夾。此文件夾中有應(yīng)用程序的所有源文件。 文件夾 gettingstarted_webappweb 是項目文件夾。應(yīng)用程序中可以包含任意數(shù)量的項目文件夾,項目文件夾又分為許多不同的種類,包括 web 項目、web service 項目、schema 項目等。gettingstarted_webappweb 是一個 web 項目,當您在上一個對話框中創(chuàng)建默認應(yīng)用程序時默認創(chuàng)建。web

12、項目包含以下 web 應(yīng)用程序公用資源:· “resources”文件夾存儲再公用的 jsp 元素,包括 css 文件和 jsp 模板。 · web-inf 文件夾中存儲了 jsp 標記庫、配置文件、經(jīng)過編譯的類文件及其他運行時資源。 · controller.jpf、error.jsp 和 index.jsp 是默認父頁面流的組件。您可以將此頁面流作為主錯誤處理程序和/或門戶中其他頁面流的主導航控制器。 “模塊”文件夾存儲獨立的應(yīng)用程序,這些應(yīng)用程序打包為 war 和 jar 文件,并可以在需要時與 web 應(yīng)用程序并行部署。 “庫”文件夾用于存儲要在多個項目中

13、使用的資源,這些資源應(yīng)打包為 jar 文件。例如,如果您有一個控件或 ejb要在所有項目中重用,則應(yīng)將其存儲在“庫”文件夾中。 “安全角色”文件夾用于定義安全角色并測試 web 應(yīng)用程序的用戶。以測試用戶身份登錄 web 應(yīng)用程序可以測試該程序的安全設(shè)計。啟動 weblogic server要運行并測試頁面流應(yīng)用程序,必須首先在 weblogic server 上部署該程序。為方便起見,現(xiàn)在就可以啟動 weblogic server,這樣您可以一邊設(shè)計頁面流,一邊對其進行測試。1. 在“工具”菜單中,選擇“weblogic server”->“啟動 weblogic server”。 2

14、. 在“weblogic server 進度”對話框中,可以單擊“隱藏”,然后繼續(xù)執(zhí)行下一任務(wù)。通過查看 weblogic workshop 底部的狀態(tài)欄,可以確認 weblogic server 是否正在運行。如果 weblogic server 正在運行,將顯示一個綠球。如果 weblogic server 未運行,將顯示一個紅球?,F(xiàn)在一切就緒,可以開始設(shè)計 web 應(yīng)用程序了。步驟 2:提交數(shù)據(jù)在此步驟中,要設(shè)置基本頁面流應(yīng)用程序、創(chuàng)建用戶可以在其上輸入自己名字的 jsp 頁,并創(chuàng)建“表單 bean”來存儲用戶輸入。此步驟包括下列任務(wù):· 創(chuàng)建頁面流· 生成提交頁面、

15、表單 bean、方法 · 測試 web 應(yīng)用程序 創(chuàng)建頁面流1. 在“應(yīng)用程序”選項卡上,用鼠標右鍵單擊“gettingstarted_webappweb”文件夾,然后選擇“新建”->“頁面流”。 2. 在“頁面流向?qū)?- 頁面流名稱”對話框中,在“頁面流名稱”字段中,輸入“hello”。單擊“下一步”。3. 在“頁面流向?qū)?- 選擇頁面流類型”對話框中,單擊“創(chuàng)建”。 新建的頁面流位于一個名為 hello 的文件夾中,并由一個名為 index.jsp 的 jsp 文件和一個名為 hellocontroller.jpf 的控制器文件組成。jsp 頁是該頁面流的默認主頁

16、。控制器文件包含 java 方法,可處理數(shù)據(jù),并把用戶轉(zhuǎn)到不同的 jsp 頁。 此控制器文件在流視圖的主區(qū)域中打開,如下所示。流視圖是對控制器文件的圖形表現(xiàn),顯示 jsp 頁與頁面流方法之間的關(guān)系。在此例中,流視圖表示:· 一個名為 begin 的方法· 一個箭頭,表示 begin 方法把用戶轉(zhuǎn)到 index.jsp 頁面· 一個名為 index.jsp 的 jsp 頁 生成提交頁面、表單 bean 和方法在這一步驟中,創(chuàng)建一個用戶可以提交數(shù)據(jù)的 jsp 頁。還要創(chuàng)建一個表單 bean 和一個方法來對提交進行處理。提交過程有兩個步驟:(1) 提交的數(shù)據(jù)被加載到表單

17、 bean 的匹配字段中; (2) 表單 bean 被傳遞給一個方法進行處理。1. 在“流視圖”中,用鼠標右鍵單擊 index.jsp 圖標并選擇“重命名”。2. 在所提供的字段中輸入“submit”,然后按下 enter 鍵。3. 雙擊 "submit.jsp" 圖標在主區(qū)域中打開此頁面。4. 用鼠標右鍵單擊文本“新建 web 應(yīng)用程序頁”并選擇“剪切”。5. 從“選項板”選項卡上,將“form”圖標拖放到“設(shè)計視圖”上?!氨韱蜗?qū)?- 選擇操作”對話框出現(xiàn)。注意:如果“選項板”選項卡未顯示,轉(zhuǎn)到“查看”菜單,選擇“窗口”->“選項板”。6. 在“表單向?qū)?- 選擇

18、操作”對話框的“操作名”字段中,輸入 hello。7. 單擊“新建.”打開“新建表單 bean” 對話框。8. 在“新建表單 bean”對話框中,在“屬性名”字段中,輸入“name”。這樣,在表單 bean 中便定義了一個“name”屬性,其類型為 string。9. 單擊“確定”返回“表單向?qū)?- 選擇操作”對話框。10. 在“表單向?qū)?- 選擇操作”對話框中,單擊“新建”。11. 按 ctrl+s 保存所做的工作。         此時,您已向頁面流添加了三個新元素:· 一套 jsp 標簽添加到了 j

19、sp 頁 submit.jsp 中· 一個操作方法 hello 添加到了控制器文件 hellocontroller.jpf 中。在流視圖中打開該文件,可對此加以驗證。(要在流視圖中查看控制器文件,請雙擊 hellocontroller.jpf,然后單擊“流視圖”選項卡)。· 一個表單 bean "helloform" 添加到了控制器文件 hellocontroller.jpf 中。此表單 bean 與 hello 方法相關(guān)聯(lián)。在“流視圖”中打開該文件,并選擇上述操作方法,可對此加以驗證。此表單在“表單 bean”選項卡中顯示。(如果此選項卡未顯示,轉(zhuǎn)到“

20、查看”菜單,選擇“窗口”->“表單 bean”)。這三個元素共同作用,以下列方式提交數(shù)據(jù):(1) 提交的“name”字段被綁定到 helloform 表單 bean 中的“name”字段;(2) 將此表單 bean 傳遞給 hello 方法處理。 您可以從 submit.jsp 的設(shè)計視圖和 hellocontroller.jpf 的流視圖推演這一提交過程。下面兩節(jié)解釋如何閱讀這些視圖。閱讀 submit.jsp 的設(shè)計視圖完成表單向?qū)Ш?,submit.jsp 的設(shè)計視圖應(yīng)與右邊所示圖像一樣。設(shè)計視圖將添加的 jsp 標記表示為三個灰色圖標,分別命名為“form”、“textbox”和“

21、button”:· 注意 form 圖標包括文本 action='hello'。這表示此表單把數(shù)據(jù)傳遞到控制器文件中的 hello 操作方法· 注意 textbox 圖標包括文本 actionf。這表示此 textbox 數(shù)據(jù)被綁定到表單 bean 的“name”屬性,而此屬性被傳遞給 hello 方法 閱讀 hellocontroller.jpf 的流視圖從控制器文件的流視圖可以推演出同樣的提交過程。注意流視圖中的以下圖形元素:· 一個名稱為“hello”的圖標:這代表操作方法 hello· “hello”圖標

22、右下角的一個小框:這表示一個表單 bean 被傳遞給了 hello· 一個從 submit.jsp 圖標指向“hello”圖標的箭頭:這表示數(shù)據(jù)從 jsp 提交,加載到一個表單 bean,然后被傳遞給方法 hello。  測試 web 應(yīng)用程序現(xiàn)在請測試頁面流,以確保您正確執(zhí)行了上述步驟。1. 確保 hellocontroller.jpf 文件顯示在主區(qū)域中。 2. 單擊“啟動”按鈕,如下所示:3. 啟動 workshop 測試瀏覽器后,請在“name”字段中輸入 your_name,然后單擊“hello”。下列錯誤將顯示在 workshop 測試瀏覽器中。顯示錯誤的理由,

23、是因為 hello 方法未在需要調(diào)用的下一個 jsp 頁上包含說明。將在下一步中更正這種情況。步驟 3:處理數(shù)據(jù)在此步驟中將學習怎樣處理從用戶提交的數(shù)據(jù),并把用戶轉(zhuǎn)到顯示結(jié)果的頁面。此步驟包括下列任務(wù):· 編輯 hello 方法以構(gòu)造消息· 編輯 hello 方法以轉(zhuǎn)引用戶 · 重新排列流視圖中的圖標 · 測試 web 應(yīng)用程序 編輯 hello 方法以構(gòu)造消息首先,編輯 hello 操作方法,以執(zhí)行處理用戶輸入的業(yè)務(wù)邏輯。其次,構(gòu)造一個 string 消息來從表單 bean 獲得名稱,并使這一消息可被下一頁使用。把此消息做成“請求”對象(可被下一個 j

24、sp 頁讀?。┑囊粋€特性(屬性),就可以被下一頁使用了。1. 確認 hellocontroller.jfp 顯示在主區(qū)域的流視圖中。 2. 在流視圖中,雙擊“hello”圖標,查看此操作的源代碼。3. 在源代碼視圖中,編輯 hello 方法,使其以下列方式出現(xiàn)。添加的代碼以紅色顯示如下: 4. /*5.       * jpf:action6.      */7.     protected forward hello(helloform form)8.

25、    9. / 從提交的姓名構(gòu)造一個消息。10.         string message = "您好," + form.getname() + "!" 11.         12.         / 把消息置放到請求對象上。13.    

26、     getrequest().setattribute("message", message); 14.         15.         return new forward( "成功" );    16. 按 ctrl+s 保存所做的工作。編輯 hello 方法以轉(zhuǎn)引用戶現(xiàn)在,加強 hello

27、 方法的功能來執(zhí)行導航邏輯。具體講,需要修改操作方法來調(diào)用 response.jsp 頁。1. 在“源代碼視圖”中,將光標放置在 hello 方法簽名中的某個地方。2. 在“屬性編輯器”中,單擊“forward list”部分右邊的加號。3. 在“屬性編輯器”中,單擊“forward(1)”左邊的加號。4. 在“forward(1)”下面的部分中的“屬性編輯器”中,在“name”屬性中,鍵入“成功”,然后按下 enter 鍵。5. 在“forward(1)”下面的部分中的“屬性編輯器”中,在“path”屬性中,鍵入 response.jsp,然后按下 enter 鍵。6. 按 ctrl+s 保存所做的工作。hello 方法完成,在源代碼視圖中應(yīng)如此顯示。重新排列流視圖中的圖標讓我們對流視圖中的圖標重新排列,以便流讀起來更容易。1. 單擊“流視圖”選項卡。2. 重新排列圖標,使其如下顯示。請注意,response.jsp 圖標會變灰。這表示在控制器文件中引用了 jsp 頁 response.jsp,但在頁面流文件夾中此 jsp 頁還不存在。3. 按 ctrl+s 保存所做的工作。測試 we

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論