標籤:style http io color ar 使用 java sp 檔案
MVC是一個架構模式,它強制性的使應用程式的輸入、處理和輸出分開。使用MVC應用程式被分成三個核心組件:模型、視圖、控制器。它們各自處理自己的任務。最典型的MVC就是JSP + servlet + javabean的模式。[5] 視圖視圖是使用者看到並與之互動的介面。對老式的Web應用程式來說,視圖就是由HTML元素組成的介面,在新式的Web應用程式中,HTML依舊在視圖中扮演著重要的角色,但一些新的技術已層出不窮,它們包括Adobe Flash和像XHTML,XML/XSL,WML等一些標識語言和Web services.MVC好處是它能為應用程式處理很多不同的視圖。在視圖中其實沒有真正的處理髮生,不管這些資料是聯機儲存的還是一個僱員列表,作為視圖來講,它只是作為一種輸出資料並允許使用者操縱的方式。[6] 模型模型表示企業資料和商務規則。在MVC的三個組件中,模型擁有最多的處理任務。例如它可能用像EJBs和ColdFusion Components這樣的構件對象來處理資料庫,被模型返回的資料是中立的,就是說模型與資料格式無關,這樣一個模型能為多個視圖提供資料,由於應用於模型的代碼只需寫一次就可以被多個視圖重用,所以減少了代碼的重複性。[6] 控制器控制器接受使用者的輸入並調用模型和視圖去完成使用者的需求,所以當單擊Web頁面中的超連結和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求並決定調用哪個模型構件去處理請求,然後再確定用哪個視圖來顯示返回的資料。[6] SSH 整合SSH架構的系統從職責上分為四層:展示層、商務邏輯層、資料持久層和域模組層,以協助開發人員在短期內搭建結構清晰、可複用性好、維護方便的Web應用程式。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts架構的模型部分,控制業務跳轉,利用Hibernate架構對持久層提供支援,Spring做管理,管理struts和hibernate。具體做法是:用物件導向的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對象,然後編寫基本的DAO(Data Access Objects)介面,並給出Hibernate的DAO實現,採用Hibernate架構實現的DAO類來實現Java類與資料庫之間的轉換和訪問,最後由Spring做管理,管理struts和hibernate。系統的基本商務程序是: 在展示層中,首先通過JSP頁面實現互動介面,負責接收請求(Request)和傳送響應(Response),然後Struts根據設定檔(struts-config.xml)將ActionServlet接收到的Request委派給相應的Action處理。在業務層中,管理服務元件的Spring IoC容器負責向Action提供業務模型(Model)組件和該組件的協作對象資料處理(DAO)組件完成商務邏輯,並提供交易處理、緩衝池等容器組件以提升系統效能和保證資料的完整性。而在持久層中,則依賴於Hibernate的對象化映射和資料庫互動,處理DAO組件請求的資料,並返回處理結果。採用上述開發模型,不僅實現了視圖、控制器與模型的徹底分離,而且還實現了商務邏輯層與持久層的分離。這樣無論前端如何變化,模型層只需很少的改動,並且資料庫的變化也不會對前端有所影響,大大提高了系統的可複用性。而且由於不同層之間耦合度小,有利於團隊成員並行工作,大大提高了開發效率。 MVC與SSH的區別(轉載)MVC三層架構:模型層,控制層和視圖層。模型層,用Hibernate架構讓來JavaBean在資料庫產生表及關聯,通過對JavaBean的操作來 對資料庫進行操作;控制層,用Struts架構來串連資料層和視圖層的,接收、處理、發送資料並控制流程程;視圖層,用JSP模板把頁面展現給使用者以及提供 與使用者的互動。而Spring架構粘合了Hibernate和Struts,透明的管理了整個架構,提供IOC容器使代碼松耦合以及AOP架構的切面功能 等等。
也可以換種說法:我們去飯館吃飯,擺在我們面前的油淋小白菜就是Jsp呈現的視圖,而這道菜怎麼來的呢,當然要有小白菜,也就是Hibernate產生的 資料,小白菜要洗乾淨,切好,這是對資料的操作;這些準備好了就要炒小白菜了,這就是Struts的事了。這個過程分工明確,各做各的,有的只負責洗菜, 有的只負責炒菜的,Spring就是中間負責跑腿的,讓洗菜的和炒菜的都安心做自己的事。最終一道菜就出來了,我們看到的是成品菜,卻看不見它被製作的過 程。 自己的體會:MVC是一種架構模式,是一種思想,SSH是一種架構,是架構模式的實現,SSH是一種經典的MVC模式。
SSH是指struts2、spring、hibernate,是三種被封裝的架構。MVC是指Model、view、control,是程式的一種分層模式。SSH是一種經典的MVC模式。
SSH與MVC