《管理信息系統(tǒng)》實(shí)驗(yàn)指導(dǎo)

        發(fā)布時(shí)間:2020-08-09 來(lái)源: 不忘初心 點(diǎn)擊:

         實(shí)驗(yàn)2

         EOS 入門與進(jìn)階 目的 和要求 1. 了解EOS集成工作環(huán)境; 2. 了解EOS簡(jiǎn)單開(kāi)發(fā)流程; 3. 在EOS中實(shí)現(xiàn)數(shù)據(jù)庫(kù)連接; 4. 在EOS中實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操縱。

         背景知識(shí) 常用術(shù)語(yǔ)介紹 ? 業(yè)務(wù)邏輯

         由開(kāi)始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)、運(yùn)算邏輯和連線等組成的、能夠完成一定功能的、通過(guò)EOS開(kāi)發(fā)環(huán)境開(kāi)發(fā)的多個(gè)運(yùn)算邏輯的圖形化邏輯流程。業(yè)務(wù)邏輯通過(guò)調(diào)用運(yùn)算邏輯(如查詢數(shù)據(jù)),將處理后的數(shù)據(jù)返回給展現(xiàn)邏輯。業(yè)務(wù)邏輯還可以調(diào)用其它的業(yè)務(wù)邏輯,這種被業(yè)務(wù)邏輯所調(diào)用的業(yè)務(wù)邏輯叫子業(yè)務(wù)邏輯。基本的業(yè)務(wù)邏輯如圖2.0-1所表示:

          圖2.0-1

         基本的業(yè)務(wù)邏輯 ? 展現(xiàn)邏輯

         由開(kāi)始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)、業(yè)務(wù)邏輯節(jié)點(diǎn)(表示被調(diào)用的業(yè)務(wù)邏輯,是可選節(jié)點(diǎn))、頁(yè)面節(jié)點(diǎn)和連線等組成的、最終生成用戶界面的圖形化描述的邏輯流程。展現(xiàn)邏輯不能調(diào)用運(yùn)算邏輯,而只能通過(guò)調(diào)用業(yè)務(wù)邏輯完成業(yè)務(wù)功能(如查詢數(shù)據(jù)),業(yè)務(wù)邏輯返回?cái)?shù)據(jù)后,展現(xiàn)邏輯調(diào)用頁(yè)面邏輯生成用戶界面;镜恼宫F(xiàn)邏輯如圖2.0-2所示:

         開(kāi)始節(jié)點(diǎn) 運(yùn)算邏輯 結(jié)束節(jié)點(diǎn) 連線 開(kāi)始節(jié)點(diǎn) 連線 業(yè)務(wù)邏輯 頁(yè)面邏輯 結(jié)束節(jié)點(diǎn)

          圖2.0-2

         基本的展現(xiàn)邏輯 ? 頁(yè)面邏輯

         也即Jsp頁(yè)面。主要用于生成用戶界面,基本由HTML、Jsp Tag、CSS和客戶端Javascript等語(yǔ)言代碼組成。

         ? 數(shù)據(jù)邏輯

         用于完成數(shù)據(jù)模型定義的相關(guān)描述文件稱為數(shù)據(jù)邏輯。數(shù)據(jù)邏輯包括數(shù)據(jù)實(shí)體、數(shù)據(jù)樹(shù)和查詢類型數(shù)據(jù)實(shí)體三種類型。

         1、 數(shù)據(jù)實(shí)體:用于表示數(shù)據(jù)庫(kù)物理的表、視圖等的定義。對(duì)于表類型的數(shù)據(jù)實(shí)體,可以進(jìn)行查詢、增加、修改和刪除的操作;對(duì)視圖類型的數(shù)據(jù)實(shí)體,只能進(jìn)行查詢操作。

         2、 數(shù)據(jù)樹(shù):用來(lái)表達(dá) EOS 數(shù)據(jù)總線結(jié)構(gòu),節(jié)點(diǎn)由數(shù)據(jù)實(shí)體和普通節(jié)點(diǎn)兩種,數(shù)據(jù)實(shí)體可以直接把已建好的數(shù)據(jù)實(shí)體托拽過(guò)來(lái)。

         3、 查詢類型數(shù)據(jù)實(shí)體:顧名思義,就是用于查詢的數(shù)據(jù)實(shí)體,是EOS 數(shù)據(jù)總線的一種數(shù)據(jù)格式,功能相當(dāng)與數(shù)據(jù)庫(kù)中的視圖,但是不需要在數(shù)據(jù)庫(kù)中建視圖,一般用于多表聯(lián)合查詢操作。

         ? 運(yùn)算邏輯

         又叫BL方法,基于JAVA代碼實(shí)現(xiàn),用于完成特定的計(jì)算處理任務(wù)。EOS構(gòu)件庫(kù)提供基礎(chǔ)的運(yùn)算邏輯如數(shù)據(jù)查詢、XML節(jié)點(diǎn)操作、日期時(shí)間操作、字符串操作等。

         ? 連線

         連接兩圖元之間的、用于表示程序執(zhí)行方向的連線。當(dāng)一個(gè)程序流程出現(xiàn)多條線路時(shí),用戶必須在連線上設(shè)置相應(yīng)的條件以決定程序的流向。

         ? S EOS 構(gòu)件

         包括業(yè)務(wù)構(gòu)件、展現(xiàn)構(gòu)件、頁(yè)面構(gòu)件、數(shù)據(jù)構(gòu)件、運(yùn)算構(gòu)件、工作流構(gòu)件等六種構(gòu)件,每一種構(gòu)件都包括一個(gè)或多個(gè)相應(yīng)的邏輯(如業(yè)務(wù)構(gòu)件包括一個(gè)或多個(gè)業(yè)務(wù)邏輯)。

         ? S EOS 構(gòu)件包

         由以上六種構(gòu)件(或者其中的幾種)組成,是EOS系統(tǒng)發(fā)布、復(fù)用的基本單位,它由一組相關(guān)的EOS構(gòu)件組成,能夠完成相對(duì)獨(dú)立、完整的業(yè)務(wù)功能。EOS構(gòu)件包中可以包含一個(gè)或多個(gè)的EOS構(gòu)件,它相當(dāng)于一組有關(guān)系的構(gòu)件的容器或命名空間(Namespace)。同一個(gè)構(gòu)件包的構(gòu)件不能重名。EOS平臺(tái)對(duì)構(gòu)件的調(diào)用也是首先通過(guò)包名來(lái)定位構(gòu)件所在的包。

         ? 業(yè)務(wù)流程

         工作流的圖形化描述,用于完成某個(gè)包含人工和自動(dòng)的業(yè)務(wù)活動(dòng)流程的構(gòu)件,是通過(guò)EOS開(kāi)發(fā)環(huán)境開(kāi)發(fā)的工作流的圖形化描述。

         ? 數(shù)據(jù)字典

         ? 業(yè)務(wù)字典

         內(nèi)容和步驟 1. EOS 開(kāi)發(fā)入門 出自C語(yǔ)言教程中的“Hello world!”已經(jīng)成了所有計(jì)算機(jī)語(yǔ)言入門教程的經(jīng)典案例,盡管EOS不是計(jì)算機(jī)語(yǔ)言,在開(kāi)始介紹EOS產(chǎn)品的機(jī)制和原理前,還是通過(guò)這個(gè)經(jīng)典案例,讓我們開(kāi)始EOS的最初體驗(yàn),以便建立對(duì)EOS最基本的感性認(rèn)識(shí),在此基礎(chǔ)上我們將一起了解基于EOS產(chǎn)品進(jìn)行應(yīng)用系統(tǒng)開(kāi)發(fā)的有關(guān)概念、常識(shí)以及運(yùn)行原理。

         1.1. d Hello World 案例開(kāi)發(fā)

         1.1.1. 案例描述

         和其他標(biāo)準(zhǔn)的J2EE應(yīng)用相似,本案例要完成的工作就是:利用業(yè)務(wù)邏輯獲取信息(或者說(shuō)生成信息“Hello World!”),然后將這些信息在JSP中展示給用戶。

         在本案例的過(guò)程中,需要關(guān)注的是操作的過(guò)程以及過(guò)程中所遇到的各個(gè)名詞或概念,并請(qǐng)將所有疑問(wèn)帶入到后面章節(jié)對(duì)EOS開(kāi)發(fā)相關(guān)原理機(jī)制的描述中。

         1.1.2.“ “Hello

         world !”開(kāi)發(fā)步驟

         在這個(gè)例子里我們將利用業(yè)務(wù)邏輯設(shè)置“Hello world!”信息,并通過(guò)jsp將這些信息顯示在用戶界面上。

         1.1.2.1. 啟動(dòng) EOS Studio 通過(guò)“開(kāi)始->程序->Primeton EOS 5->EOS Studio 5.1”啟動(dòng)EOS開(kāi)發(fā)的IDE環(huán)境。啟動(dòng)后,點(diǎn)擊歡迎頁(yè)右上角圖標(biāo),進(jìn)入到EOS Studio的工作區(qū)(以后啟動(dòng)會(huì)自動(dòng)進(jìn)入到工作區(qū)界面)。

         1.1.2.2. 創(chuàng)建項(xiàng)目――EOSTriping 1) 進(jìn)入 EOS Studio開(kāi)發(fā)透視圖; 單擊主菜單項(xiàng)“文件”選擇“新建”->“空EOS項(xiàng)目”,如圖2.1-1所示。

          圖2.1-1

         創(chuàng)建項(xiàng)目 2) 在彈出的“創(chuàng)建空 EOS項(xiàng)目”視圖中,配置相關(guān)參數(shù)。“項(xiàng)目名稱”:EOSTriping,如圖 2.1-2 所示。

         圖2.1-2

         項(xiàng)目屬性對(duì)話框 3) 單擊【完成】按鈕,系統(tǒng)完成該項(xiàng)目框架的創(chuàng)建后退出。創(chuàng)建結(jié)果如圖 2.1-3所示:

         1 、輸入 EOSTriping 2 、點(diǎn)擊【完成】按鈕

         點(diǎn)擊此處切換透視圖

          圖2.1-3

         完成項(xiàng)目創(chuàng)建 【說(shuō)明】新建項(xiàng)目時(shí),缺省會(huì)建立一個(gè)pkg的構(gòu)件包,你可以通過(guò)鼠標(biāo)右鍵刪除這個(gè)構(gòu)件包。

         1.1.2.3. 創(chuàng)建構(gòu)件包 1) 在項(xiàng)目資源管理器視圖中,單擊展開(kāi)“EOSTriping”項(xiàng)目的右鍵菜單,選擇“新建”-> “EOS構(gòu)件包”,如圖 2.1-4 所示。

         圖2.1-4

         創(chuàng)建構(gòu)件包

         2) 在彈出的“創(chuàng)建構(gòu)件包”視圖中,設(shè)置相關(guān)參數(shù)。如圖 2.1-5 所示:

          圖2.1-5 創(chuàng)建構(gòu)件包 3) 構(gòu)件包名稱:HelloWorld,點(diǎn)擊【完成】按鈕,結(jié)束創(chuàng)建構(gòu)件包向?qū)А?/p>

         1.1.2.4. 創(chuàng)建業(yè)務(wù)邏輯 1) 在“項(xiàng)目資源管理器視圖”中,展開(kāi) “EOSTriping?HelloWorld?biz”構(gòu)件,在“biz” 構(gòu)件上點(diǎn)擊右鍵,選擇上下文菜單“新建?業(yè)務(wù)邏輯”,如圖 2.1-6所示:

         點(diǎn)擊【完成】按鈕 輸入構(gòu)件包名稱

          圖2.1-6

         創(chuàng)建業(yè)務(wù)邏輯 2) 在彈出的“創(chuàng)建業(yè)務(wù)邏輯”對(duì)話筐中的“文件名”項(xiàng)中輸入“bizHelloWorld”,點(diǎn)擊完成按鈕結(jié)束創(chuàng)建業(yè)務(wù)邏輯向?qū),如圖 2.1-7 所示:

          圖2.1-7

         創(chuàng)建業(yè)務(wù)邏輯對(duì)話框

         創(chuàng)建“bizHelloWorld”業(yè)務(wù)邏輯之后,在Studio的“業(yè)務(wù)邏輯編輯器”會(huì)自動(dòng)將剛剛創(chuàng)建的業(yè)務(wù)邏輯打開(kāi)。

         3) 展開(kāi)“項(xiàng)目資源管理器”視圖中的“引用構(gòu)件包?fcdom?BNNode.class”,選中“BL_setNodeValueBatch”運(yùn)算邏輯,按住鼠標(biāo)左鍵,將該運(yùn)算邏輯拖拽到“bizHelloWorld”編輯區(qū)中,如圖 2.1-8 所示:

         點(diǎn)擊【完成】按鈕 入 輸入 bizHelloWorld

          圖2.1-8

         引用構(gòu)件包結(jié)構(gòu) 4) 利用鼠標(biāo)點(diǎn)選業(yè)務(wù)邏輯編輯區(qū)上“選用板”中的“連接線”工具,點(diǎn)擊“開(kāi)始”圖元,然后點(diǎn)擊“BL_setNodeValueBatch”圖元將“開(kāi)始”圖元和“BL_setNodeValueBatch”圖元連接起來(lái)。利用相同的方法,將“BL_setNodeValueBatch”圖元和結(jié)束圖元連接起來(lái),最終的業(yè)務(wù)邏輯如圖 2.1-9 所示:

          圖2.1-9

         業(yè)務(wù)邏輯編輯器 5) 雙擊“BL_setNodeValueBatch”運(yùn)算邏輯圖元,在彈出的“屬性設(shè)置”對(duì)話框中,點(diǎn)擊“參數(shù)定義”標(biāo)簽頁(yè)面,輸入如圖 2.1-10 所示參數(shù):參數(shù) 1 節(jié)點(diǎn)類型為 EOS Field,節(jié)點(diǎn)路徑為“show/info”(用戶可自定義),參數(shù) 2 節(jié)點(diǎn)類型為常量,節(jié)點(diǎn)值為“Hello world!”(該操作表示將“Hello world!”設(shè)置到 show/info 節(jié)點(diǎn)下) 連接線工具 連接線

          圖2.1-10

         運(yùn)算邏輯參數(shù)設(shè)置對(duì)話框

         6) 雙擊業(yè)務(wù)邏輯編輯器中的“開(kāi)始”圖元,在彈出的“屬性設(shè)置”對(duì)話框中,點(diǎn)擊“接口定義”標(biāo)簽頁(yè),輸入如圖 2.1-11 所示的參數(shù):參數(shù) 1 節(jié)點(diǎn)類型為 EOS Entity(此處也可以設(shè)置為 EOS Field),節(jié)點(diǎn)路徑為 show,表示將設(shè)置的 show/info信息輸出到調(diào)用本業(yè)務(wù)邏輯的邏輯數(shù)據(jù)區(qū)中。

         3 、點(diǎn)擊【確定】按鈕 1 、輸入 show/info 2 、輸入 Hello world!

          圖2.1-11

         業(yè)務(wù)邏輯接口設(shè)置對(duì)話框

         7) 點(diǎn)擊工具欄中的“保存”按鈕或者使用快捷鍵“Ctrl+S”鍵保存業(yè)務(wù)邏輯。

         1.1.2.5. 創(chuàng)建 JSP 頁(yè)面 1) 在“項(xiàng)目資源管理器視圖”中,展開(kāi) “EOSTriping?HelloWorld?page”構(gòu)件,在“page” 構(gòu)件上點(diǎn)擊右鍵,選擇上下文菜單“新建?jsp 頁(yè)面”,Studio 啟動(dòng)頁(yè)面向?qū),在彈出?ldquo;頁(yè)面生成向?qū)?rdquo;對(duì)話框中,輸入如圖 2.1-12 所示參數(shù),點(diǎn)擊【完成】按鈕結(jié)束創(chuàng)建頁(yè)面對(duì)話框:

          1 、點(diǎn)擊【插入】按鈕 2 、輸入 show 3 、點(diǎn)擊【完成】按鈕

          圖2.1-12

         創(chuàng)建頁(yè)面對(duì)話框

         點(diǎn)擊【完成】按鈕以后,Studio會(huì)提示“要切換到 EOS頁(yè)面開(kāi)發(fā) 透視圖嗎?”,點(diǎn)擊【是】按鈕進(jìn)入頁(yè)面開(kāi)發(fā)視圖。

         2) 在頁(yè)面開(kāi)發(fā)視圖的頁(yè)面編輯器中,輸入如下 jsp 代碼:

         <%@ include file="/internet/common.jsp"%> <html>

         <body>

          <div align="center">

         <br><font color="red" size="20">

         <bean:write property="show/info"/>

         </font>

          </div>

         </body> </html> 3) 點(diǎn)擊工具欄“保存”按鈕或者使用快捷鍵“Ctrl+S”保存 jsp 頁(yè)面。

         點(diǎn)擊【完成】按鈕 選擇獨(dú)立頁(yè)面風(fēng)格 入 輸入 helloworld

         1.1.2.6. 創(chuàng)建展現(xiàn)邏輯 1) 創(chuàng)建展現(xiàn)邏輯的步驟和創(chuàng)建業(yè)務(wù)邏輯的步驟基本一致。在“項(xiàng)目資源管理器視圖”中,展開(kāi) “EOSTriping?HelloWorld?pr”構(gòu)件,在“pr” 構(gòu)件上點(diǎn)擊右鍵,選擇上下文菜單“新建?展現(xiàn)邏輯”。再?gòu)棾龅?ldquo;創(chuàng)建展現(xiàn)邏輯”對(duì)話框中的“文件名”項(xiàng)中輸入“prHelloWorld”,點(diǎn)擊【完成】按鈕。

         2) 將剛剛創(chuàng)建的業(yè)務(wù)邏輯“bizHelloWorld”和頁(yè)面“helloworld.jsp”托拽到展現(xiàn)邏輯編輯器中,點(diǎn)選“選用板”中的“連接線”工具,采用和創(chuàng)建業(yè)務(wù)邏輯時(shí)的方法,依次將“開(kāi)始”、“bizHelloWorld”、“helloworld.jsp”和“結(jié)束”圖元連接起來(lái),如圖 2.1-13所示:

         圖2.1-13 展現(xiàn)邏輯編輯器 3) 保存剛剛創(chuàng)建的展現(xiàn)邏輯。

         1.1.2.7. 編譯部署 1) 保存剛創(chuàng)建編輯的所有文件; 2) 點(diǎn)擊快捷圖標(biāo) 選擇將運(yùn)行的項(xiàng)目“EOSTriping”,啟動(dòng)服務(wù)器,如圖2.1-14、15 所示。

          圖2.1-14

         圖2.1-15

         啟動(dòng)Server 1.1.2.8. 運(yùn)行 1) 服務(wù)器正常啟動(dòng)后,打開(kāi) IE瀏覽器 。

         2) 在 IE瀏覽器地址欄輸入:http://localhost:8080/;用系統(tǒng)管理員 sysadmin,密碼 000000(或者安裝時(shí)修改的密碼)登陸,進(jìn)入到主界面,如圖 2.1-17 所示 。

          圖2.1-17

         登錄后主頁(yè)面 3) 更改地址欄為:

         http://localhost:8080/HelloWorld.pr.prHelloWorld.do(注意路徑書(shū)寫方式和大小寫),回車;若該項(xiàng)目正常運(yùn)行,將顯示頁(yè)面如圖2.1-18所示。

         圖2.1-18

         運(yùn)行結(jié)果

         1.1.3. 案例小結(jié)

         至此,HelloWorld例子開(kāi)發(fā)完成,你一只腳也邁入了奇妙的EOS開(kāi)發(fā)大門,讓我們一起繼續(xù)EOS開(kāi)發(fā)之旅。根據(jù)以上小例子,我們已經(jīng)對(duì)在EOS Studio的開(kāi)發(fā)方式有了一個(gè)初步的認(rèn)識(shí),可以看出使用EOS Studio進(jìn)行開(kāi)發(fā)的基本開(kāi)發(fā)流程為:

         1) 創(chuàng)建項(xiàng)目:指定項(xiàng)目名稱、項(xiàng)目用的 EOS Server和 WEB應(yīng)用目錄。

         2) 創(chuàng)建構(gòu)件包:制定構(gòu)件包名,以目錄形式,組織各種構(gòu)件和邏輯的存放,便于Studio 管理,各種構(gòu)件的名稱是可以修改的。

         3) 創(chuàng)建業(yè)務(wù)邏輯:編寫邏輯代碼,調(diào)用運(yùn)算邏輯(BL 方法)將輸入數(shù)據(jù)進(jìn)行處理,完成業(yè)務(wù)邏輯,并將處理結(jié)果返回給展現(xiàn)邏輯。

         4) 創(chuàng)建 JSP 頁(yè)面:EOS 應(yīng)用的用戶界面,利用 Jsp Tag 將 RequestContext 數(shù)據(jù)區(qū)中的信息顯示給用戶。

         5) 創(chuàng)建展現(xiàn)邏輯:控制程序流程的執(zhí)行,調(diào)用業(yè)務(wù)邏輯獲得處理后的信息,然后調(diào)用頁(yè)面邏輯將這些信息返回給用戶。

         6) 編譯部署:[項(xiàng)目]菜單欄中構(gòu)選了[自動(dòng)構(gòu)建],保存即編譯,部署是調(diào)試或運(yùn)行時(shí) EOS Server 會(huì)自動(dòng)進(jìn)行熱部署。

         7) 運(yùn)行案例:在 IE 地址欄中輸入“構(gòu)件包名稱.展現(xiàn)構(gòu)件名.展現(xiàn)邏輯文件名.do”形式的 URL(URL 的大小寫要與 Studio 中“構(gòu)件包名稱.展現(xiàn)構(gòu)件名.展現(xiàn)邏輯文件名”的大小寫完全一致),即可完成對(duì) EOS 應(yīng)用的調(diào)用。

         2. EOS 開(kāi)發(fā)進(jìn)階 通過(guò)前面章節(jié)的描述,我們對(duì)利用EOS Studio開(kāi)發(fā)J2EE應(yīng)用的步驟有了個(gè)大致的了解,也對(duì)EOS的原理概念有了一定認(rèn)識(shí),于是產(chǎn)生了以下幾個(gè)疑問(wèn):

         1、 真正的應(yīng)用不象“Hello world!”這么簡(jiǎn)單,該如何開(kāi)發(fā)一個(gè)典型的數(shù)據(jù)庫(kù)應(yīng)用? 2、 應(yīng)用運(yùn)行過(guò)程中,數(shù)據(jù)是怎么傳遞的,圖形化邏輯中設(shè)置的參數(shù)與最終運(yùn)行時(shí)數(shù)據(jù)的傳遞是什么關(guān)系? 3、 在 EOS 中,提供了什么方便快捷的手段,來(lái)提高應(yīng)用開(kāi)發(fā)的效率? 4、 EOS 提供的向?qū)в泻翁攸c(diǎn)? 5、 通過(guò) EOS Studio 開(kāi)發(fā)的 J2EE 應(yīng)用,是如何打包部署的,又是如何實(shí)現(xiàn)應(yīng)用的分布式處理的呢?

         帶著這些問(wèn)題,本章節(jié)將與您一道,基于EOS開(kāi)發(fā)一個(gè)簡(jiǎn)單的小型數(shù)據(jù)庫(kù)應(yīng)用。并在開(kāi)發(fā)過(guò)程中,對(duì)運(yùn)行原理和數(shù)據(jù)傳遞方式作深入的講解。

         2.1. 開(kāi)發(fā)案例描述 ? 案例的基本需求 在數(shù)據(jù)庫(kù)中存在一個(gè)客戶資料表,希望通過(guò)EOS實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶資料維護(hù)的功能,能夠進(jìn)行客戶資料的查詢、增加、修改、刪除。

         在查詢功能中,以客戶姓名、性別、出生日期范圍作為查詢條件,其中客戶姓名為模糊查詢,性別為完全匹配查詢且通過(guò)下拉列表選取查詢條件,查詢結(jié)果要求分頁(yè)處理。

         應(yīng)用開(kāi)發(fā)完成后將其發(fā)布部署到另外的應(yīng)用服務(wù)器中。

         ? 客戶資料表 CUST的表結(jié)構(gòu) 字段名稱

         數(shù)據(jù)類型

         數(shù)據(jù)長(zhǎng)度

         是否主鍵

         備

         注

         c_id char 10 YES 客戶編號(hào) c_name nvarchar 20 NO 客戶姓名 c_sex char 1 NO 1-男,2-女,3-未知 c_birthday date 8 NO 出生日期 c_tel1 nvarchar 15 NO 聯(lián)系電話1 c_tel2 nvarchar 15

         聯(lián)系電話2 c_addr nvarchar 50 NO 聯(lián)系地址 c_typ char 1 NO I—INSURED被保人P—POLICY OWNER投保人 注意:為了方便EOS提供的向?qū)幚恚瑪?shù)據(jù)庫(kù)表必須定義主鍵字段,因?yàn)橥ㄟ^(guò)EOS的數(shù)據(jù)實(shí)體修改、刪除數(shù)據(jù)是根據(jù)主鍵來(lái)做為匹配條件的。

          2.2. 開(kāi)發(fā)步驟 2.2.1. 準(zhǔn)備數(shù)據(jù) ? 在實(shí)驗(yàn)一中,已創(chuàng)建保險(xiǎn)數(shù)據(jù)庫(kù) insurance,現(xiàn)將其用戶導(dǎo)入 EOS數(shù)據(jù)庫(kù)

         ? 打開(kāi) SQL Server2000,選中數(shù)據(jù)庫(kù) insurance,點(diǎn)擊右鍵選擇“所有任務(wù)”—>“導(dǎo)出數(shù)據(jù)”,顯示如 2.2-1所示界面;

         ? 點(diǎn)擊“下一步”,將目的數(shù)據(jù)庫(kù)由“默認(rèn)”改為“EOS”,如 2.2-2 所示,點(diǎn)擊“下一步”;

         ? 選擇“從源數(shù)據(jù)庫(kù)復(fù)制表和視圖”, 點(diǎn)擊“下一步”,顯示如 2.2-3所示界面;

         ? 點(diǎn)擊“全選”,選中 insurance 數(shù)據(jù)庫(kù)中的全部用戶表,然后點(diǎn)擊“下一步”,完成將 insurance中的表導(dǎo)入 EOS 數(shù)據(jù)庫(kù)中。

         ? 最后點(diǎn)擊“完成”。

         圖2.2-1

         圖2.2-2

          圖2.2-3

         2.2.2. 建立數(shù)據(jù)庫(kù)連接 1. 參照?qǐng)D2.2-4,在屏幕右上方的“引用構(gòu)件包”、“數(shù)據(jù)庫(kù)連接”與“組織機(jī)構(gòu)與角色”三個(gè)選項(xiàng)卡中選擇“數(shù)據(jù)庫(kù)連接”,即點(diǎn)中“數(shù)”。

         2. 點(diǎn)擊“數(shù)據(jù)庫(kù)連接”連接窗口下的“新建”按鈕。

         3. 輸入如圖2.2-5所示的參數(shù),數(shù)據(jù)庫(kù)的用戶名與密碼請(qǐng)咨詢實(shí)驗(yàn)教師。

         4. 點(diǎn)擊“測(cè)試連接”,顯示成功后,點(diǎn)擊“確定”。

         5. 連接成功后,可如圖2.2-6一樣點(diǎn)擊察看數(shù)據(jù)庫(kù)的相關(guān)信息。

          圖2.2-4

         數(shù)據(jù)庫(kù)連接

         圖2.2-5

         數(shù)據(jù)庫(kù)連接配置參數(shù) 1、此處選擇數(shù)據(jù)庫(kù)連接窗口,點(diǎn)擊“新建”。

         2、輸入數(shù)據(jù)連接的配置信息,測(cè)試連接成功后,點(diǎn)擊確定。

          圖2.2-6 2.2.3. 創(chuàng)建構(gòu)件包 1、 在原有的項(xiàng)目“EOSTriping”上點(diǎn)擊右鍵,選擇上下文菜單“新建?EOS 構(gòu)件包”。

         2、 在彈出的“創(chuàng)建構(gòu)件包”對(duì)話框中,輸入如圖 2.2-7所示參數(shù):

         新建的數(shù)據(jù)庫(kù)連接會(huì)顯示在列表中,雙擊連接名稱,將列出所有的數(shù)據(jù)庫(kù)用戶雙擊連接配置對(duì)應(yīng)的用戶名,將列出所有數(shù)據(jù)庫(kù)表和視圖 雙擊某個(gè)表或視圖,將列出所有字段信息

         圖2.2-7

         創(chuàng)建構(gòu)件包向?qū)?2.2.4. 導(dǎo)入數(shù)據(jù)實(shí)體 1、 在“data”構(gòu)件上點(diǎn)擊右鍵,選擇上下文菜單“新建?導(dǎo)入數(shù)據(jù)實(shí)體”,如下圖:

         入 輸入 CUSTMgr 不選擇后三項(xiàng) 項(xiàng) 點(diǎn)擊【完成】按鈕

          2、 在彈出的“導(dǎo)入數(shù)據(jù)定義”對(duì)話框中,選擇 2.2.2 節(jié)建立的數(shù)據(jù)庫(kù)連接,將會(huì)列出對(duì)應(yīng)用戶下的表和視圖,選擇剛剛導(dǎo)入的表“in_customer”,點(diǎn)擊【完成】按鈕。如果剛剛創(chuàng)建的表不在可選列表中,說(shuō)明 Studio 的數(shù)據(jù)庫(kù)配置不正確,可點(diǎn)擊“配置”按鈕重新配置數(shù)據(jù)庫(kù)。如圖 2.2-8所示:

          圖2.2-8

         導(dǎo)入數(shù)據(jù)實(shí)體向?qū)?3、 Studio 將自動(dòng)打開(kāi)剛剛導(dǎo)入的數(shù)據(jù)實(shí)體文件 in_customer.ent(也可通過(guò)雙擊“EOSTriping?data?in_customer”打開(kāi)),在數(shù)據(jù)實(shí)體編輯器中,點(diǎn)擊“field”標(biāo)簽頁(yè),然后選擇某映射字段編輯相應(yīng)字段屬性,如圖 2.2-9所示:

         3 、點(diǎn)擊【完成】按鈕 點(diǎn)擊這里可配置新連接 2 、選擇需要導(dǎo)入到構(gòu)件包的表 1 、選擇數(shù)據(jù)庫(kù)連接

          圖2.2-9 數(shù)據(jù)實(shí)體編輯器 各字段對(duì)應(yīng)WEB頁(yè)面參數(shù)表如下:

         字段名稱 顯示名稱 顯示格式 默認(rèn)值 業(yè)務(wù)字典 js 數(shù)據(jù)類型 c_id 客戶編號(hào) 無(wú) 無(wú) 無(wú) 數(shù)字 c_name 客戶姓名 無(wú) 無(wú) 無(wú) 無(wú) c_sex 性別 無(wú) 無(wú) BNDICT_gender 無(wú) c_tel1 聯(lián)系電話1 無(wú) 無(wú) 無(wú) 電話號(hào)碼 c_tel2 聯(lián)系電話2 無(wú) 無(wú) 無(wú) 電話號(hào)碼 c_addr 聯(lián)系地址 無(wú) 無(wú) 無(wú) 無(wú) c_birthday 出生日期 yyyy-MM-dd 無(wú) 無(wú) 日期

         4、 保存對(duì)數(shù)據(jù)實(shí)體修改。

         名稱解釋:

         數(shù)據(jù)實(shí)體:用于描述數(shù)據(jù)庫(kù)表結(jié)構(gòu)的文件,其中不僅包括各字段的數(shù)據(jù)類型、長(zhǎng)度、是否組件等信息的,而且包括利用向?qū)蓸I(yè)務(wù)功能時(shí)所需要的信息如顯示名稱、數(shù)據(jù)類型(主要用于提交表單時(shí)候驗(yàn)證數(shù)據(jù)的有效性)。在EOS中,對(duì)數(shù)據(jù)庫(kù)的各種操作都是通過(guò)這種映射的方式完成的。

         業(yè)務(wù)字典:類似于通常的碼表,一個(gè)代碼對(duì)應(yīng)一個(gè)描述,并且對(duì)這些代碼進(jìn)行了分類。例如:性別類數(shù)據(jù)字典包括1-男性、2-女性;學(xué)歷類業(yè)務(wù)字典1-小學(xué)、2-初中、3-高中、4-大專等等。EOS中提供了業(yè)務(wù)字典的管理,用戶可以通過(guò)自定義業(yè)務(wù)代碼和業(yè)務(wù)代碼的描述來(lái)擴(kuò)充業(yè)務(wù)字典信息。

         選擇相應(yīng)字段,設(shè)置在 字段在 WEB 頁(yè)面的顯示屬性

         2.2.5. 功能生成向?qū)?/p>

         對(duì)于案例描述的各個(gè)功能,一般的做法需要為每個(gè)功能去開(kāi)發(fā)對(duì)應(yīng)的頁(yè)面(JSP)、業(yè)務(wù)處理邏輯和展現(xiàn)邏輯,由于本案例屬于典型的信息維護(hù)功能,EOS針對(duì)此類通用的功能處理要求,設(shè)計(jì)了一套方便快捷功能強(qiáng)大的開(kāi)發(fā)向?qū)В岄_(kāi)發(fā)人員不需要編寫任何Java代碼、展現(xiàn)邏輯、業(yè)務(wù)運(yùn)算邏輯和JSP頁(yè)面邏輯等,而是根據(jù)向?qū)б徊讲降奶崾,通過(guò)簡(jiǎn)單的設(shè)置就可以一次生成針對(duì)數(shù)據(jù)庫(kù)中某一張表的查詢、增加、修改、刪除等功能的所有邏輯或代碼文件。

         那么,對(duì)于本案例的功能,將采用功能向?qū)нM(jìn)行生成,以下是具體的操作過(guò)程:

         1、 在剛剛創(chuàng)建的“CUSTMgr”構(gòu)件包上點(diǎn)擊右鍵,選擇上下文中的“新建?單表維護(hù)向?qū)?rdquo;。如下圖:

         圖2.2.5-1 2、 在“選擇項(xiàng)目中的數(shù)據(jù)實(shí)體”項(xiàng)中選擇剛剛導(dǎo)入并修改了 Web 屬性的數(shù)據(jù)實(shí)體“in_customer”,點(diǎn)擊【下一步】按鈕。

          圖2.2.5-2 3、 這一步驟主要是生成查詢條件輸入頁(yè)面的配置信息。點(diǎn)擊“查詢條件字段列表”下的【添加】按鈕增加查詢條件輸入域。該對(duì)話框主要設(shè)置查詢條件輸入頁(yè)面的顯示方式等信息。如圖 2.2.5-3所示:

          圖2.2.5-3

         “增加條件字段”頁(yè)面屬性對(duì)話框 首先選擇查詢條件的字段名稱,然后設(shè)置對(duì)應(yīng)該條件字段的其他屬性。

         其他參數(shù)項(xiàng)說(shuō)明如下:

         顯示名稱:用于查詢條件輸入元素前面的提示信息。如果在導(dǎo)入數(shù)據(jù)實(shí)體后修改了數(shù)據(jù)實(shí)體的Web屬性,顯示名稱將自動(dòng)填充,否則請(qǐng)?jiān)谶@里手動(dòng)填充。

         只讀:是否只是用于頁(yè)面顯示而不能輸入。

         可以為空:是否允許該條件為空。選擇“是”,用戶不輸入內(nèi)容的情況下,提交頁(yè)面表單(form)時(shí)不將該字段作為查詢條件;選擇“否”,如果用戶不輸入任何內(nèi)容,則會(huì)彈出提示窗口要求輸入。

         默認(rèn)值:頁(yè)面表單(form)元素默認(rèn)的輸入值。

         控件類型:用于輸入條件表單(form)元素類型,只能是文本框和下拉框中的一種。

         校驗(yàn)數(shù)據(jù)類型:用于頁(yè)面表單(form)提交時(shí)js校驗(yàn)數(shù)據(jù)的有效性,如果校驗(yàn)不通過(guò),不允許提交form。提供的常用校驗(yàn)類型包括:數(shù)字、英文字符串、日期時(shí)間、郵件地址、身份證、IP地址、電話號(hào)碼等 日期時(shí)間格式:當(dāng)校驗(yàn)類型為“日期”或者“時(shí)間”格式時(shí)有效,指定輸入的日期時(shí)間格式。

         1 、 點(diǎn) 擊 “ 添加”,設(shè)置條件字段2 、選擇作為查詢條件的字段 3 、設(shè)置條件屬性 4 、點(diǎn)擊“確定”,保存一個(gè)條件項(xiàng) 字段匹配方式

         長(zhǎng)度:允許的最大輸入字節(jié)長(zhǎng)度,默認(rèn)值和數(shù)據(jù)庫(kù)定義相等。

         精度:當(dāng)校驗(yàn)類型為“帶長(zhǎng)度和精讀的數(shù)字”格式時(shí)有效,和長(zhǎng)度配合使用。

         操作符:指定查詢條件的匹配關(guān)系,包括“等于(=)”,“大于(>)”,“小于(<)”,“大于等于(>=)”,“小于等于(<=)”,“不等于(!=)”,在…之間(between,適用于數(shù)字、日期類型等),模糊匹配(Like,使用于字符類型)

         模糊查詢規(guī)則:當(dāng)操作符為“Like”時(shí)有效。

         業(yè)務(wù)字典:查詢條件的輸入是否來(lái)自于業(yè)務(wù)字典。如果是,則需要選擇相應(yīng)的業(yè)務(wù)字典碼,同時(shí)“輸入控件類型”只能是下拉框控件。

         下拉框數(shù)據(jù)設(shè)置:查詢條件輸入控件是下拉框單不是業(yè)務(wù)字典,而是來(lái)自于一個(gè)查詢結(jié)果集,則需要將結(jié)果集的數(shù)據(jù)加入下拉框中。具體參數(shù)設(shè)置將在稍后的代碼精解中講解。

          在本例中,將利用客戶姓名、性別作為查詢條件,輸入的參數(shù)如圖2.2.5-4和圖2.2.5-5所示:

         圖2.2.5-4

         “客戶姓名”條件參數(shù) 配方式:Like 模糊規(guī)則:中間匹配點(diǎn)擊【確定】按鈕 來(lái)自于實(shí)體文件,也可手動(dòng)輸入

          圖2.2.5-5

         “性別”條件參數(shù)

         4、 如果對(duì)查詢條件的參數(shù)設(shè)置不滿意,可雙擊“查詢條件字段列表”中的字段名稱修改參數(shù)。完成兩查詢條件的參數(shù)設(shè)置后,回到查詢向?qū)е鞔翱,設(shè)置其他參數(shù)后點(diǎn)擊【下一步】按鈕,本例中的參數(shù)設(shè)置如圖 2.2.5-6所示:

         匹配方式:= 數(shù)據(jù)來(lái)自業(yè)務(wù)字典 選擇業(yè)務(wù)字典類別 不 輸 入 性 別時(shí),表示無(wú)限制點(diǎn)擊【確定】按鈕

          圖2.2.5-6

         查詢條件參數(shù) 5、 對(duì)于查詢結(jié)果列表不需要顯示表的主鍵,因此去掉“c_id”字段前面的勾;對(duì)于增加或者修改功能,要求客戶姓名必須輸入,雙擊“插入/修改(DataForm)字段列表”中的“c_name”字段,將“可以為空”的屬性值改為“否”,參數(shù)設(shè)置分別如圖 2.2.5-7和圖 2.2.5-8所示:

         點(diǎn)擊【下一步】按鈕查詢結(jié)果集是否分頁(yè) 設(shè)置排序字段排序方式 計(jì)算記錄數(shù)和總頁(yè)數(shù) 選擇排序字段并點(diǎn)擊增加

          圖2.2.5-7

         查詢結(jié)果集參數(shù) 選項(xiàng)“ 更新時(shí)忽略數(shù)據(jù)中的空值”是指在修改時(shí)某值為空,則修改時(shí)忽略該值;更多請(qǐng)參看“ 功能及代碼解析”部分關(guān)于BL_updateEntity的說(shuō)明。

         選項(xiàng)“ 自動(dòng)產(chǎn)生主鍵”的是指在增加操作時(shí),由EOS產(chǎn)生一個(gè)唯一的編號(hào)做為關(guān)鍵值。多請(qǐng)參看“ 功能及代碼解析”部分關(guān)于BL_getPrimaryKey的說(shuō)明。

         設(shè)置“插入/更新”頁(yè)面參數(shù):

         示 列表中不顯示 c_id 雙擊設(shè)置頁(yè)面參數(shù) 新增客戶記錄時(shí)使用 使用不同修改操作方式

          圖2.2.5-8

         設(shè)置插入/修改時(shí)“c_name”字段不能為空

         6、 在“生成的邏輯和頁(yè)面”對(duì)話框中,用戶可指定需要的業(yè)務(wù)功能、去除不需要的功能,還可以更改將要生成的業(yè)務(wù)邏輯、展現(xiàn)邏輯、頁(yè)面邏輯等的名稱,本案例不作任何改動(dòng),點(diǎn)擊“完成”,如圖 2.2.5-9所示:

         新增/ 修改時(shí)不能為空

          圖2.2.5-9

         功能選擇 7、 OK,代碼生成完成。Studio 自動(dòng)生成基于客戶資料表的查詢、增加、修改、刪除等功能的各個(gè)程序文件。

         點(diǎn)擊【完成】按鈕

          2.2.6. 試用 1、 向?qū)刹僮魍瓿珊螅R上就可以使用生成的功能了。但首先必須得將 EOS Server 啟動(dòng),并登錄權(quán)限管理系統(tǒng)才能訪問(wèn)。請(qǐng)參見(jiàn)“Hello World 案例”部分;

         2、 在 項(xiàng) 目 資 源 管 理 器 中 展 開(kāi) “ EOSTriping?page ” 構(gòu) 件 , 右 擊“CUSTQueryInput.jsp”頁(yè)面,選擇“獲取 URL”菜單(如下圖);

          復(fù)制對(duì)應(yīng)的URL地址;

          3、 打開(kāi) IE 瀏覽器,輸入http://localhost:8080回車,用 sysadmin 登錄系統(tǒng)后,將獲得的地址粘貼到 IE地址欄中,回車,運(yùn)行結(jié)果如下圖所示:

          圖3.2.5-12

         運(yùn)行結(jié)果 至此,利用“單表維護(hù)向?qū)?rdquo;生成代碼的工作全部結(jié)束,同時(shí)還可以點(diǎn)擊“增加、修改、刪除、上頁(yè)、下頁(yè)”等按鈕,運(yùn)行這些生成的程序。呵呵,這是一件很有成就感的工作,通過(guò)幾個(gè)參數(shù)的設(shè)置,就能完成如此多的功能。

          通過(guò)向?qū)Чδ,我們完成了案例的基本開(kāi)發(fā),你可以看到各個(gè)功能包括對(duì)應(yīng)的邏輯文件都具有固定的格式。

         需要說(shuō)明的是:與這個(gè)開(kāi)發(fā)向?qū)涮子幸惶啄0逦募@些模板文件確定了功能中頁(yè)面的布局、按鈕形式和位置、頁(yè)面效果等等特性,以及邏輯的處理步驟等等。

         對(duì)于一個(gè)具體應(yīng)用項(xiàng)目而言,功能的界面要求和處理邏輯并不一定與EOS提供的缺省模板一致,如果要求生成的功能符合項(xiàng)目對(duì)功能界面的要求,則可以去修改EOS提供的模板文件。

         練習(xí)題 1. 根據(jù)入門案例的操作步驟,完成Hello World的開(kāi)發(fā),對(duì)EOS開(kāi)發(fā)環(huán)境有基本了解。

         2. 根據(jù)開(kāi)發(fā)進(jìn)階案例的操作步驟,實(shí)現(xiàn)數(shù)據(jù)庫(kù)用戶表的導(dǎo)入、數(shù)據(jù)庫(kù)的連接以及對(duì)數(shù)據(jù)庫(kù)的單表維護(hù)操作。

        相關(guān)熱詞搜索:管理信息系統(tǒng) 指導(dǎo) 實(shí)驗(yàn)

        版權(quán)所有 蒲公英文摘 www.zuancaijixie.com
        91啦在线播放,特级一级全黄毛片免费,国产中文一区,亚洲国产一成人久久精品