Java Web應(yīng)用開發(fā)技術(shù)課件 6-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能-知識準(zhǔn)備_第1頁
Java Web應(yīng)用開發(fā)技術(shù)課件 6-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能-知識準(zhǔn)備_第2頁
Java Web應(yīng)用開發(fā)技術(shù)課件 6-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能-知識準(zhǔn)備_第3頁
Java Web應(yīng)用開發(fā)技術(shù)課件 6-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能-知識準(zhǔn)備_第4頁
Java Web應(yīng)用開發(fā)技術(shù)課件 6-2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能-知識準(zhǔn)備_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

任務(wù)6.2實(shí)現(xiàn)新聞發(fā)布系統(tǒng)后臺管理功能主講:

新聞發(fā)布系統(tǒng)—MVC模式實(shí)現(xiàn)任務(wù)描述知識準(zhǔn)備總結(jié)與練習(xí)目錄CONTENTS任務(wù)描述01新聞發(fā)布系統(tǒng)后臺管理將程序中的實(shí)體對象和業(yè)務(wù)邏輯分別封裝到單獨(dú)的Java類中,使用MVC設(shè)計(jì)模式,小組成員按照分工要求,共同完成新聞發(fā)布系統(tǒng)后臺管理功能,提高程序的可讀性和易維護(hù)性。知識準(zhǔn)備02JSP開發(fā)模型

MVC設(shè)計(jì)模式

JSP開發(fā)模型

JSP開發(fā)模型即JSPModel。使用JSP技術(shù)開發(fā)Web應(yīng)用程序時(shí),有兩種開發(fā)模型可以選擇——JSPModel1和JSPModel2。JSPModel1簡單輕便,適合小型Web項(xiàng)目的快速開發(fā);JSPModel2是在JSPModel1的基礎(chǔ)上改造而來的,其提供了更清晰的代碼分層,適用于多人合作開發(fā)的大型Web項(xiàng)目。JSP開發(fā)模型

1.JSPModel1在早期使用JSP開發(fā)JavaWeb應(yīng)用程序時(shí),JSP文件是一個(gè)獨(dú)立的能自主完成所有任務(wù)的模塊,負(fù)責(zé)處理業(yè)務(wù)邏輯、控制頁面流程、向用戶展示頁面等,JSP早期模型工作原理如圖6-4所示。JSP開發(fā)模型

JSP早期模型存在問題:JSP頁面中的HTML代碼與Java代碼耦合度高的問題,代碼的可讀性較差;數(shù)據(jù)、業(yè)務(wù)邏輯、控制流混合在一起,程序修改與維護(hù)難度大。為了解決上述問題,Sun公司提出了一種JSP開發(fā)模型——JSPModel1。JSPModel1采用JSP+JavaBean技術(shù),將頁面顯示與業(yè)務(wù)邏輯分開。JSP開發(fā)模型

JSPModel1工作原理:

JSP負(fù)責(zé)接收用戶請求和調(diào)用JavaBean組件,并響應(yīng)用戶的請求;

JSP實(shí)現(xiàn)流程控制和頁面顯示;

JavaBean對象負(fù)責(zé)封裝數(shù)據(jù)和業(yè)務(wù)邏輯。JSPModel1解決了代碼可讀性差、程序修改和維護(hù)難的問題。早期JSP開發(fā)模型JSPModel1開發(fā)模型JSP頁面需要嵌入大量Java代碼JSP開發(fā)模型

2.JSPModel2使用JSPModel1模型開發(fā)時(shí),JSP頁面需要負(fù)責(zé)流程控制和頁面顯示。對于業(yè)務(wù)流程復(fù)雜的大型應(yīng)用程序,JSP頁面需要嵌入大量Java代碼,Sun公司在JSPModel1模型的基礎(chǔ)上提出了JSPModel2模型,解決了JSP頁面Java代碼量大、項(xiàng)目管理復(fù)雜的問題。JSP開發(fā)模型

JSPModel2模型采用JSP+Servlet+JavaBean技術(shù)。JSP負(fù)責(zé)響應(yīng)用戶請求;Servlet負(fù)責(zé)接收用戶發(fā)送的請求,調(diào)用JavaBean組件,實(shí)現(xiàn)流程控制;JavaBean對象負(fù)責(zé)封裝數(shù)據(jù)和業(yè)務(wù)邏輯。JSPModel2工作原理JSP開發(fā)模型

JSPModel2模型:采用JSP+Servlet+JavaBean技術(shù)JSP負(fù)責(zé)響應(yīng)用戶請求;Servlet負(fù)責(zé)接收用戶發(fā)送請求,調(diào)用JavaBean組件,并實(shí)現(xiàn)流程控制;JavaBean對象負(fù)責(zé)封裝數(shù)據(jù)和業(yè)務(wù)邏輯。JSPModel1模型:

采用JSP+JavaBean技術(shù)

JSP負(fù)責(zé)響應(yīng)用戶的請求;

JSP負(fù)責(zé)接收用戶請求,調(diào)用JavaBean組件,并實(shí)現(xiàn)流程控制;

JavaBean對象負(fù)責(zé)封裝數(shù)據(jù)和業(yè)務(wù)邏輯MVC設(shè)計(jì)模式

MVC是Model(模型)、View(視圖)、Controller(控制器)的縮寫。MVC是施樂帕克研究中心在20世紀(jì)80年代針對編程語言Smalltalk-80提出的一種軟件設(shè)計(jì)模式,后來被推薦作為Oracle旗下JavaEE平臺的設(shè)計(jì)模式,并且受到越來越多開發(fā)者的歡迎。JSPModel2模型采用的就是MVC設(shè)計(jì)模式,其中控制器由Servlet實(shí)現(xiàn)、視圖由JSP頁面實(shí)現(xiàn)、模型由JavaBean實(shí)現(xiàn)。MVC設(shè)計(jì)模式

模型(Model)負(fù)責(zé)管理應(yīng)用程序的業(yè)務(wù)數(shù)據(jù)、定義訪問控制以及修改這些數(shù)據(jù)的業(yè)務(wù)規(guī)則。當(dāng)模型狀態(tài)發(fā)生變化時(shí)會通知視圖進(jìn)行界面更新,并為視圖提供查詢模型狀態(tài)的方法。視圖(View)負(fù)責(zé)與用戶進(jìn)行交互,從模型中獲取數(shù)據(jù)并向用戶展示,同時(shí)也能將用戶請求傳遞給控制器進(jìn)行處理。當(dāng)模型的狀態(tài)發(fā)生改變時(shí),視圖中向用戶展示的數(shù)據(jù)會同步更新,從而保持與模型數(shù)據(jù)的一致性。控制器(Controller)負(fù)責(zé)應(yīng)用程序中用戶交互的部分,從視圖中讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC設(shè)計(jì)模式將軟件程序分為3個(gè)核心模塊,即模型、視圖和控制器。MVC設(shè)計(jì)模式3個(gè)核心模塊的關(guān)系與功能如圖所示。當(dāng)控制器接收到用戶的請求后,會根據(jù)請求信息調(diào)用模型組件的業(yè)務(wù)方法,完成對業(yè)務(wù)方法的處理后,再根據(jù)模型的返回結(jié)果選擇相應(yīng)的視圖組件顯示處理結(jié)果和模型中的數(shù)據(jù)。MVC設(shè)計(jì)模式

MVC設(shè)計(jì)模式--以后臺新聞管理為例

新聞詳情顯示MVC設(shè)計(jì)模式--以后臺新聞詳情顯示為例

View(視圖)?Controller(控制器)?Model(模型)?用戶發(fā)送HTTP請求數(shù)據(jù)庫用戶HTML響應(yīng)執(zhí)行SQL查詢調(diào)用新聞查詢方法返回查詢結(jié)果選擇新聞詳情顯示視圖用戶操作請求用戶請求流橙色控制流紅色數(shù)據(jù)流綠色傳遞數(shù)據(jù)對象顯示新聞詳情?1.接收用戶請求獲取新聞詳情數(shù)據(jù)?1.從數(shù)據(jù)庫中查詢新聞詳情數(shù)據(jù)顯示新聞詳情頁面1.獲取Controller傳遞的新聞詳情數(shù)據(jù)2.生成并展示新聞詳情頁面2.調(diào)用Model獲取新聞詳情數(shù)據(jù)3.將數(shù)據(jù)傳遞給View進(jìn)行展示2.返回給ControllerView(視圖)?Controller(控制器)?Model(模型)?用戶發(fā)送HTTP請求數(shù)據(jù)庫用戶HTML響應(yīng)執(zhí)行SQL查詢調(diào)用新聞查詢方法返回查詢結(jié)果選擇新聞詳情顯示視圖傳遞數(shù)據(jù)對象顯示新聞詳情1.接收用戶請求:獲取新聞詳情數(shù)據(jù)?1.從數(shù)據(jù)庫中查詢新聞詳情數(shù)據(jù)顯示新聞詳情頁面1.獲取Controller傳遞的新聞詳情數(shù)據(jù)2.生成并展示新聞詳情頁面2.調(diào)用Model獲取新聞詳情數(shù)據(jù)3.將數(shù)據(jù)傳遞給View進(jìn)行展示2.返回給Controllermanager/bottom_index頁面中點(diǎn)擊新聞詳情,超鏈接跳轉(zhuǎn)/manager/News/SearchNewsListmanager/News/SearchNewsList代碼功能1.獲取請求參數(shù)2.創(chuàng)建NewsDao對象,調(diào)用查詢所有新聞的方法3.將查詢到的結(jié)果newsList存入request作用域,

并跳轉(zhuǎn)到layUI_NewsList.jspNews類NewsDaoImpl類publicList<News>search()方法layUI_NewsList.jspMVC設(shè)計(jì)模式--以新聞詳情顯示為例

HTML代碼獲取Controller傳遞的新聞詳情數(shù)據(jù),生成并展示新聞詳情頁面當(dāng)單擊修改按鈕時(shí),如何確定修改的是哪一條新聞?當(dāng)單擊修改按鈕時(shí),進(jìn)入控制器ToUpdateNews代碼功能:1.獲取請求參數(shù)2.創(chuàng)建NewsDao對象,調(diào)用根據(jù)新聞ID查詢新聞的方法3.將news對象存入request作用域。4.跳轉(zhuǎn)到layUI_NewsModify.jsp新聞修改頁面將新聞ID作為請求參數(shù)傳遞進(jìn)入控制器ToUpdateNews<ahref="ToUpdateNews?n_id=<%=news.getN_id()%>">MVC設(shè)計(jì)模式--以后臺新聞管理為例

MVC設(shè)計(jì)模式

Controller(控制器)?:顯示新聞詳情?:接收用戶請求,調(diào)用Model獲取新聞詳情數(shù)據(jù),然后將數(shù)據(jù)傳遞給View進(jìn)行展示。--示例修改新聞詳情?:接收用戶請求,調(diào)用Model獲取新聞詳情數(shù)據(jù),然后將數(shù)據(jù)傳遞給View以顯示編輯表單。刪除新聞詳情?:接收用戶確認(rèn)刪除的請求,調(diào)用Model刪除新聞詳情數(shù)據(jù),然后重定向到新聞列表頁面或顯示刪除成功的消息。添加新聞詳情?:接收用戶提交的表單數(shù)據(jù),調(diào)用Model添加新聞詳情數(shù)據(jù),然后重定向到新聞詳情頁面或顯示保存成功的消息。View(視圖)?:顯示新聞詳情頁面?:根據(jù)Controller傳遞的新聞詳情數(shù)據(jù),生成并展示新聞詳情頁面。--示例編輯新聞詳情表單?:根據(jù)Controller傳遞的新聞詳情數(shù)據(jù),生成并展示編輯新聞詳情的表單。刪除新聞詳情確認(rèn)?:顯示一個(gè)確認(rèn)刪除的頁面或彈窗,并將用戶確認(rèn)刪除的請求提交給Controller。添加新聞詳情確認(rèn):根據(jù)Controller傳遞的新聞詳情數(shù)據(jù),生成并展示新聞詳情頁面Model(模型)?:獲取新聞詳情數(shù)據(jù)?:從數(shù)據(jù)庫中查詢新聞詳情數(shù)據(jù)并封裝返回給Controller。--示例更新新聞詳情數(shù)據(jù)?:接收并封裝Controller傳遞的新聞詳情數(shù)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論