浅谈MVC设计模式和SSH框架的关系
一。MVC:是指Model—View—Controler,是程序的一種分層模式,是一種思想。
? ? ?MVC是Model—View—Controler的簡稱。即模型—視圖—控制器。MVC是一種設計模式,它強制性的把應用程序的輸入、處理和輸出分開。
??? MVC中的模型、視圖、控制器它們分別擔負著不同的任務。
視圖:?視圖是用戶看到并與之交互的界面。視圖向用戶顯示相關的數據,并接受用戶的輸入。這些需要顯示的數據既可以是靜態數據,也可以是服務端存入域對象中的動態數據。在視圖中其實沒有任何的業務邏輯處理發生,它只是一種輸出數據并允許用戶操作的方式。
????模型:?模型表示業務數據和業務處理。相當于JavaBean。在MVC的三個部件中,模型擁有最多的處理任務。被模型返回的數據是中立的,就是說模型與數據格式無關,這樣一個模型能為多個視圖提供數據。這提高了應用程序的重用性。
控制器:?控制器接受用戶的輸入并調用模型和視圖去完成用戶的需求。所以當用戶單擊web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接受請求并決定調用哪個模型構件去處理請求,然后再確定用哪個視圖來顯示模型處理返回的數據。
???
MVC的處理過程:首先控制器接受用戶的請求,調用相應的模型來進行業務處理,并返回數據給控制器。控制器調用相應的視圖來顯示處理的結果,并通過視圖呈現給用戶。
詳細說明:首先控制器接收用戶的請求,并決定應該調用哪個模型來進行處理,然后模型用業務邏輯來處理用戶的請求并返回數據,最后控制器用相應的視圖格式化模型返回的數據,并通過表示層呈現給用戶。? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
二。SSH:是指struts2,spring,hibernate,是三種被封裝的框架,是框架模式的實現,SSH是一種經典的MVC模式。
? ? SSH:集成SSH框架的系統從職責上分為四層:表示層,業務邏輯層,數據持久層和域模塊層,以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的實現,采用Hibernate架構實現的DAO類來實現java類與數據庫之間的轉換和訪問,最后由spring做管理,管理struts和hibernate。
系統的基本業務流程是:
? ? ?在表示層中,首先通過jsp頁面實現交互界面,負責接收請求(request)和傳送響應(response),然后struts根據配置文件(strtus-config.xml)將ActionServlet接收到的請求委派給相應的Action處理。
? ? ?在業務層中,管理服務組件的Spring IOC容器負責向Action提供業務模型【Model】組件和該組件的協作對象數據處理【DAO】組件完成業務邏輯,并提供事物處理、緩沖池等容器組件以提升系統性能和保證數據的完整性。
? ? ?在持久層中,依賴于hibernate的對象化映射和數據庫交互,處理DAO組件請求的數據,并返回處理結果。
三。MVC和SSH的關系
MVC三層架構:模型層、控制層和視圖層。模型層,用hibernate框架讓javaBean在數據庫生成表及關聯,通過對javaBean的操作來對數據庫進行操作;視圖層,用jsp模板把頁面展現給用戶以及提供與用戶的交互;控制層,用strust框架來連接數據層和視圖層的接收、處理、發送數據并控制流程。而spring框架粘和了hibernate和struts,透明的管理了整個架構,提供IOC容器使代碼松耦合以及AOP框架的切面功能等等。 ? ??
轉載于:https://blog.51cto.com/9339792/1684797
總結
以上是生活随笔為你收集整理的浅谈MVC设计模式和SSH框架的关系的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小爱音箱可以绑定几个手机
- 下一篇: MVC+EF三层+抽象工厂项目搭建