#1、MVC設計模式 所謂MVC,即Model-View-Controllerhtml
1)Model層:Model指模型部分,應用對象;通常在應用中Model層包括業務處理層和數據訪問層。數據訪問層主要是對數據庫的一些操做的封裝。業務處理層應用JavaBean構建, JavaBean主要是用做將從View層獲取的數據和數據庫的數據進行橋接。模型表示企業數據和業務規則。在MVC的三個部件中,模型擁有最多的處理任務。模型與數據格式無關,這樣一個模型能爲多個視圖提供數據。因爲應用於模型的代碼只需寫一次就能夠被多個視圖重用,因此減小了代碼的重複性。java
2)Controller層:Controller指控制器部分,邏輯處理、控制實體數據在視圖上展現、調用模型處理業務請求;通常是對View層提交的請求爲其設置對應的Servlet進行特定功能的處理,接受用戶的輸入並調用模型和視圖去完成用戶的需求。Controller通常只是在Web應用中充當一箇中介者的做用。web
3)View層:View指視圖部分,數據的展示;這一部分的內容是展現給用戶實際進行交互的,一般使用JSP和HTML進行構建。spring
在 MVC 模式中,Web 用戶向服務器提交的全部請求都由控制器接管。接受到請求以後,控制器負責決定應該調用哪一個模型來進行處理;而後模型根據用戶請求進行相應的業務邏輯處理,並返回數據;最後控制器調用相應的視圖來格式化模型返回的數據,並經過視圖呈現給用戶。數據庫
優勢:編程
缺點:設計模式
MVC屬於架構/框架設計模式,即觀察者模式,策略模式,組合模式等JAVA面向對象設計模式的組裝; 框架(Framework)是一組協同工做的類,它們爲特定類型的軟件構築了一個可重用的設計緩存
框架的特性:安全
#2、MVC框架 1)jsp+servlet+javabean:適用於比較小的項目springboot
2)struts1,webWork(xwork1 ,webWork2),dwr3
3)struts2
工做原理圖:
參考文獻:http://blog.csdn.net/laner0515/article/details/27692673/
4)springMVC 工做原理圖:
參考文獻:http://blog.csdn.net/zuoluoboy/article/details/19766131
對比
1)struts1和struts2
2)struts2和springMVC
參考文獻:
http://blog.csdn.net/gstormspire/article/details/8239182
http://blog.csdn.net/chenleixing/article/details/44570681
#3、RESTFUL REST 是一種思惟方式,而非協議或標準。它是設計基於命名資源而非消息的鬆耦合應用程序 — 一般指面向 Web 的應用程序 — 的一種風格;
REST 「強調組件交互的可伸縮性、界面的廣泛性、獨立部署組件以及使用中間組件來減小交互延遲,加強安全性並封裝遺留系統」。RESTful構建的系統具備高度的可伸縮性,同時與底層數據鬆散耦合;並且能夠很好地利用緩存;
若是開發者在開發過程當中能堅持 REST 原則,將能夠獲得一個使用了優質 Web 架構的系統,從而爲系統提供更好的可伸縮性,並下降開發難度。關於 REST 架構的主要原則以下:
參考文獻:http://www.ibm.com/developerworks/cn/java/j-lo-struts2rest/