版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
西安歐亞學(xué)院2015—2016學(xué)年第二學(xué)期考試成績評定表專業(yè):軟件工程課程:Web開發(fā)技術(shù)(Java)年級:14級軟件項目實訓(xùn)報告總分項目1項目2內(nèi)容完整性排版規(guī)范性內(nèi)容正確性功能擴充20%30%10%10%10%20%100%《Web開發(fā)技術(shù)(Java)》大作業(yè)姓名:題目:Web開發(fā)技術(shù)大作業(yè)專業(yè):軟件工程班級:日期:目錄TOC\o"1-2"\h\z\u1. JSP開發(fā)概述 11.1. JSPModel1 11.2. JSPModel2 11.3. MVC設(shè)計模式 22. JSPModel1案例 42.1 功能描述 42.2 Caculator類分析 42.3 JSP頁面代碼分析 42.4 功能實現(xiàn) 42.5 測試用例設(shè)計 43. JSPModel2案例 53.1 功能描述 53.2 MVC架構(gòu)分析 53.3 Model層類分析 53.4 控制類分析 53.5 View層界面分析 53.6 功能實現(xiàn) 53.7 測試用例設(shè)計 6JSP開發(fā)概述JSPModel1JSPModel1采用了JSP+JavaBean的技術(shù),將頁面顯示和業(yè)務(wù)邏輯分開。其中,JSP實現(xiàn)流程控制和頁面顯示,JavaBean對象封裝數(shù)據(jù)和業(yè)務(wù)邏輯。接下來通過一張圖來描述JSPModel1的工作原理,如圖1-1所示。請求請求響應(yīng)JSP瀏覽器響應(yīng)JSP瀏覽器保存或保存或修改數(shù)據(jù)JavaBean讀取數(shù)據(jù)數(shù)據(jù)庫JavaBean讀取數(shù)據(jù)數(shù)據(jù)庫圖1-1JSPModel1模型的工作原理圖從圖1-1中可以看出,JSPModel1模型將封裝數(shù)據(jù)以及處理數(shù)據(jù)的業(yè)務(wù)邏輯的任務(wù)交給了JavaBean組件,JSP只負(fù)責(zé)接受用戶請求和調(diào)用JavaBean的組件來響應(yīng)用戶的請求,這種設(shè)計實現(xiàn)了數(shù)據(jù),業(yè)務(wù)邏輯和頁面顯示的分離,在一定程度上實現(xiàn)了程序開發(fā)的模塊化,降低了程序修改和維護的難度。JSPModel2JSPModel2架構(gòu)模型采用JSP+Servlet+JavaBean的技術(shù),此技術(shù)將原本JSP頁面中的流程控制代碼提取出來,封裝到Servlet中,從而實現(xiàn)了整個程序頁面顯示、流程控制和業(yè)務(wù)邏輯的分離。實際上JSPModel2模型就是MVC設(shè)計模式,其中控制器的角色是由Servlet實現(xiàn),視圖的角色是由JSP頁面實現(xiàn),模型的角色是由JavaBean實現(xiàn)。接下來通過一張圖來描述Model2的工作原理,如圖1-2所示。從圖1-2中可以看出,Servlet充當(dāng)了控制器的角色,它接受用戶請求,并實例化JavaBean對象封裝數(shù)據(jù)和對業(yè)務(wù)邏輯進行處理,然后將調(diào)用JSP頁面顯示JavaBean中的數(shù)據(jù)信息。請求Servlet(Controller)瀏覽器請求Servlet(Controller)瀏覽器實例化選擇視圖實例化選擇視圖保存或修改數(shù)據(jù)響應(yīng)JavaBean(Model)JSP(View)保存或修改數(shù)據(jù)響應(yīng)JavaBean(Model)JSP(View)讀取數(shù)據(jù)數(shù)據(jù)庫讀取數(shù)據(jù)數(shù)據(jù)庫圖1-2JSPModel2模型的工作原理圖MVC設(shè)計模式MVC設(shè)計模式是施樂帕克研究中心在20世紀(jì)80年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計模式,提供了一種按功能對軟件進行模塊劃分的方法。MVC模式將軟件程序分為三個核心模塊:模型(Model)、視圖(View)和控制器(Controller),這三個模塊的作用如下所示。1.模型模型(Model)負(fù)責(zé)管理應(yīng)用程序的業(yè)務(wù)數(shù)據(jù)以及定義訪問控制和修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型的狀態(tài)發(fā)生改變時,它會通知視圖發(fā)生改變,并為視圖提供查詢模型狀態(tài)的方法。2.視圖視圖(View)負(fù)責(zé)與用戶進行交互,它從模型中獲取數(shù)據(jù)向用戶展示,同時也能將用戶請求傳遞給控制器進行處理。當(dāng)模型狀態(tài)發(fā)生改變時,視圖會對用戶界面進行同步更新,從而保持與模型數(shù)據(jù)的一致性控制器控制器(Controller)是負(fù)責(zé)應(yīng)用程序中處理用戶交互的部分,它負(fù)責(zé)從視圖中讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。接下來通過一張圖來描述MVC組件類型的關(guān)系和功能,如圖1-3所示。從圖1-3可以看出這三個模塊的關(guān)系,借助這個圖例來梳理一下MVC模式的工作流程:當(dāng)控制器接收到用戶的請求后,他根據(jù)請求信息調(diào)用模型組件的業(yè)務(wù)方法,控制器調(diào)用模型組件處理完畢后,根據(jù)模型的返回結(jié)果選擇相應(yīng)的視圖組件來顯示處理結(jié)果和模型中的數(shù)據(jù)。(模型)(模型)封裝程序內(nèi)部的數(shù)據(jù)狀態(tài)封裝業(yè)務(wù)處理方法內(nèi)部狀態(tài)改變通知視圖(視圖)顯示模型中的數(shù)據(jù)接收模型的數(shù)據(jù)更新通知將用戶操作傳遞給控制器(控制器)接受用戶的操作調(diào)用模型的業(yè)務(wù)處理方法選擇響應(yīng)用戶操作的視圖選擇視圖用戶操作請求數(shù)據(jù)狀態(tài)查詢狀態(tài)改變通知調(diào)用業(yè)務(wù)方法和修改數(shù)據(jù)圖1-3MVC模型組件類型的關(guān)系和功能圖JSPModel1案例功能描述該網(wǎng)頁計算器可以實現(xiàn)加減乘除四則運算操作。Caculator類分析1.類UML圖CalculatorfirstNum:StringsecondNum:Stringoperator:charerrors:Map<string,stirng>set():get():calculate():Stringvalidate():boolean圖2-1類UML圖2.JavaBean特性分析JavaBean是java開發(fā)語言中的一個能夠重復(fù)使用的軟件組件,本質(zhì)上還是一個Java類,并且它要遵循一定的編碼規(guī)范。它必須有一個公共的,無參的構(gòu)造方法,編譯器可以自動生成。它提供公共的setter方法和getter方法,讓外部程序設(shè)置和獲取JavaBean的屬性。3.主要方法功能分析calculate();此方法主要用于計算。validate();此方法主要用于驗證用戶輸入的數(shù)據(jù)是否合法。JSP頁面代碼分析JSP標(biāo)簽用于獲取用戶輸入的數(shù)據(jù),jsp腳本驗證用戶輸入的數(shù)據(jù)是否合法,form表單顯示用戶輸入的界面。功能實現(xiàn)圖2-2計算器界面圖2-3加法計算演示圖2-4減法計算演示圖2-5乘法計算演示圖2-6除法計算演示測試用例設(shè)計測試序號測試實例測試結(jié)果1第一個數(shù)字輸入第二個數(shù)字不輸入第二個運算數(shù)不能為空2第一個第二個輸入符號需要重新輸入3第一個第二個輸入正確格式得出正確結(jié)果表2-1測試用例JSPModel2案例功能描述在網(wǎng)頁上注冊一個賬戶。MVC架構(gòu)分析(模型)封裝程序內(nèi)部的數(shù)據(jù)狀態(tài)(模型)封裝程序內(nèi)部的數(shù)據(jù)狀態(tài)封裝業(yè)務(wù)處理方法內(nèi)部狀態(tài)改變通知視圖(視圖)顯示模型中的數(shù)據(jù)接收模型的數(shù)據(jù)更新通知將用戶操作傳遞給控制器(控制器)接受用戶的操作調(diào)用模型的業(yè)務(wù)處理方法選擇響應(yīng)用戶操作的視圖選擇視圖用戶操作請求數(shù)據(jù)狀態(tài)查詢狀態(tài)改變通知調(diào)用業(yè)務(wù)方法和修改數(shù)據(jù)圖3-1系統(tǒng)架構(gòu)圖系統(tǒng)運行流程register.jspregister.jspControllerServletloginSuccess.jspRegisterFormBeanUserBeanDButil圖3-2系統(tǒng)運行流程Model層類分析1.類UML圖RegFormBeanname:StirngpassWord:StringcheckWord:Stirngemail:Stringset()get()validate():booleanUserBeanname:StirngpassWord:Stringemail:Stringset()get()圖3-3類UML圖RegisterFormBean類合法性驗證方法分析封裝注冊表單信息的JavaBean,validate()方法用于判斷表單信息是否合法。DBUtil類分析DBUtil是一個單例類,他實現(xiàn)了兩個功能。第一個功能是定義一個HasMap集合users,用于模擬數(shù)據(jù)庫,并向數(shù)據(jù)庫中存入了兩條學(xué)生信息。第二個功能是定義了getUser()方法和insertUser()方法來操作數(shù)據(jù)庫,其中g(shù)etUser()方法用于回去數(shù)據(jù)庫中的用戶信息,insertUser()方法用于向數(shù)據(jù)庫中插入用戶信息??刂祁惙治鲇糜谔幚碛脩粽埱?,如果注冊成功,則跳轉(zhuǎn)到loginSuccess.jsp界面,否則跳轉(zhuǎn)到register.jsp界面。View層界面分析Register.jsp用于顯示注冊界面,將注冊請求發(fā)送給ControllerServlet程序處理。LoginSuccess.jsp用于顯示用戶注冊成功后顯示用戶注冊信息。功能實現(xiàn)
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工分離技術(shù)
- 安徽省淮北市2025-2026學(xué)年七年級上學(xué)期期末考試語文試題(含答案)
- 化工企業(yè)設(shè)備培訓(xùn)課件
- 2026年上海市松江區(qū)初三上學(xué)期一模數(shù)學(xué)試卷和參考答案
- 第一章第1節(jié)人口分布
- 2026黑龍江齊齊哈爾市龍沙區(qū)五龍街道公益性崗位招聘1人考試參考試題及答案解析
- 2026年上半年云南省青少年科技中心招聘人員(3人)參考考試題庫及答案解析
- 2026廣東惠州市博羅縣市場監(jiān)督管理局招聘編外人員6人考試參考試題及答案解析
- 2026年甘肅省嘉峪關(guān)市人民社區(qū)衛(wèi)生服務(wù)中心招聘備考考試題庫及答案解析
- 2026北京印鈔有限公司招聘26人考試參考題庫及答案解析
- 國家自然基金形式審查培訓(xùn)
- 2026馬年卡通特色期末評語(45條)
- NCCN臨床實踐指南:肝細胞癌(2025.v1)
- 免租使用協(xié)議書
- 2025 AHA心肺復(fù)蘇與心血管急救指南
- 2026年九江職業(yè)大學(xué)單招職業(yè)適應(yīng)性測試題庫帶答案詳解
- 危化品庫區(qū)風(fēng)險動態(tài)評估-洞察與解讀
- 激光焊接技術(shù)規(guī)范
- 消防聯(lián)動排煙天窗施工方案
- 2025年高考物理 微專題十 微元法(講義)(解析版)
- 2025年國家能源投資集團有限責(zé)任公司校園招聘筆試備考題庫含答案詳解(新)
評論
0/150
提交評論