Java Web應用開發技術課件 6-2實現新聞發布系統后臺管理功能-知識準備_第1頁
Java Web應用開發技術課件 6-2實現新聞發布系統后臺管理功能-知識準備_第2頁
Java Web應用開發技術課件 6-2實現新聞發布系統后臺管理功能-知識準備_第3頁
Java Web應用開發技術課件 6-2實現新聞發布系統后臺管理功能-知識準備_第4頁
Java Web應用開發技術課件 6-2實現新聞發布系統后臺管理功能-知識準備_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務6.2實現新聞發布系統后臺管理功能主講:

新聞發布系統—MVC模式實現任務描述知識準備總結與練習目錄CONTENTS任務描述01新聞發布系統后臺管理將程序中的實體對象和業務邏輯分別封裝到單獨的Java類中,使用MVC設計模式,小組成員按照分工要求,共同完成新聞發布系統后臺管理功能,提高程序的可讀性和易維護性。知識準備02JSP開發模型

MVC設計模式

JSP開發模型

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

1.JSPModel1在早期使用JSP開發JavaWeb應用程序時,JSP文件是一個獨立的能自主完成所有任務的模塊,負責處理業務邏輯、控制頁面流程、向用戶展示頁面等,JSP早期模型工作原理如圖6-4所示。JSP開發模型

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

JSPModel1工作原理:

JSP負責接收用戶請求和調用JavaBean組件,并響應用戶的請求;

JSP實現流程控制和頁面顯示;

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

2.JSPModel2使用JSPModel1模型開發時,JSP頁面需要負責流程控制和頁面顯示。對于業務流程復雜的大型應用程序,JSP頁面需要嵌入大量Java代碼,Sun公司在JSPModel1模型的基礎上提出了JSPModel2模型,解決了JSP頁面Java代碼量大、項目管理復雜的問題。JSP開發模型

JSPModel2模型采用JSP+Servlet+JavaBean技術。JSP負責響應用戶請求;Servlet負責接收用戶發送的請求,調用JavaBean組件,實現流程控制;JavaBean對象負責封裝數據和業務邏輯。JSPModel2工作原理JSP開發模型

JSPModel2模型:采用JSP+Servlet+JavaBean技術JSP負責響應用戶請求;Servlet負責接收用戶發送請求,調用JavaBean組件,并實現流程控制;JavaBean對象負責封裝數據和業務邏輯。JSPModel1模型:

采用JSP+JavaBean技術

JSP負責響應用戶的請求;

JSP負責接收用戶請求,調用JavaBean組件,并實現流程控制;

JavaBean對象負責封裝數據和業務邏輯MVC設計模式

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

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

MVC設計模式--以后臺新聞管理為例

新聞詳情顯示MVC設計模式--以后臺新聞詳情顯示為例

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

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

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

MVC設計模式

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

溫馨提示

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

評論

0/150

提交評論