Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介紹
Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介紹
鑑於最近一些零基礎的朋友要做專案,我梳理一下web專案的執行流程,主要是說一下理解思路,有什麼不足或不對的,多多理解。
在N久前,傳統的專案有用jsp+JavaBeans開發的,有用JSP+Servlet開發的,還有的是符合mvc的JSP+Servlet+JavaBeans開發的。這些說法都沒有錯。
前面兩個年代久遠,不說了,主要重點說一下,MVC模式。
1.JSP+JavaBean模式:
在現在的開發中, JSP+JavaBean模式開發非常之少了,除非你的專案只有芝麻大一點
它可以說web開發中的是第一代設計模式,主要是JSP充當檢視和控制器,而JavaBeans充當模型。
特點:該模式將業務邏輯與頁面表現進行分離,在一定程度上增加了程式的可除錯性和維護性。
缺點:頁面將控制與顯示集於一身。
結論:簡單,適合小型專案的快速構建與執行。
2.JSP+Servlet模式:
後來慢慢發展,有人使用jsp+servlet模式來開發。
其中就分為:(可能層的定義不這麼叫,我忘了具體的。)
- view層——類比jsp前臺互動,比如我們頁面顯示等,但是jsp中也寫了資料互動的東西。JSTL等
- web層——類比servlet,它與前臺資料進行互動,又和資料庫打交道,其次它也動態輸出html內。
簡單的例子
servlet層中有a方法,實現和資料庫互動,jsp將註冊資訊提交給servlet,在servlet裡呼叫a方法,來接收sp的資料,然後將資料就和資料庫關聯。
值得一提的是:Servlet和JSP的一大共同點:
Servlet和jsp都可以操作網頁:
• Servlet可以在.java檔案中通過HttpServletResponse物件動態輸出HTML內容,比如out.print()。
• JSP在靜態HTML/JSP中可以嵌入Java程式碼,常見JSTL標籤<%%>,Java程式碼被動態執行後生成新的HTML內容。
也就是說,單單隻用jsp或者serlvet都可以對網頁進行開發,也正是這樣,導致兩者它們都有難以維護和雜亂程式碼的困擾。
所以!揚長避短——MVC(Model-View-Controller)模式非常適合解決這一問題。
3.mvc模式:JSP + Servlet + JavaBean三層架構
MVC模式(Model-View-Controller),是系統分為三個基本部分:模型(Model)、檢視(View)和控制器(Controller):
可以理解為:JSP充當檢視,Servlet充當控制器,JavaBeans充當模型。
- 1.View層(JSP),前臺互動,比如我們註冊時的資料等等,serlvet就是與前臺資料進行互動的
- 2.Contrller層(servlet充當):Model與View之間溝通的橋樑, 這個層有業務處理,使用者的註冊登入就可以看做是User的業務,我們就需要將相關的處理程式碼寫到這個層中。
- 3.Model層:實現系統的業務邏輯,即javaBean,常見的就是封裝物件的屬性、資料庫連線操作等。
- 常規會寫一個dao層,是屬於mvc裡面Model層抽出來。目的就是更單純的和資料庫打交道,將servlet的資料和資料庫進行互動。
特點:JSP作為檢視,來表現頁面;Servlet作為控制器,控制程式的流程並呼叫業務進行處理;JavaBean封裝了業務邏輯。遵循了MVC設計模式
缺點:沒有統一的開發框架導致開發週期長
圖示:
在MVC開發的軟體系統中,描述如下所示:
通俗的說,就是web broswer通過view層的jsp頁面發出的所有的http請求都應該交給servlet,即控制層來。servlet通過對Javabean,即核心的Model層處理,得到處理結果,然後返回給view層的Jsp頁面。Jsp頁面返回給瀏覽器最後的html網頁。
簡單的例子:
比如使用者的註冊業務——addUser()
前臺取得註冊資訊--封裝到user物件中,然後呼叫user的業務,即註冊功能控制。
這時就跳到Contrller層,然後此層呼叫dao中的方法將資料存入資料庫。
在實際應用中可以這樣理解:
.JSP,.html屬於檢視層,
servlet屬於控制器層,
Class類檔案屬於javabeans。
(上層的依賴下層的,servlet是用JAVA寫的控制器層。)
對應專案的圖示:
這種最經典的mvc模式了。
總結:MVC大體上是jsp+Javabean+Servlet,MVC模式在Web開發中的好處是非常明顯,它規避了JSP與Servlet各自的短板,Servlet只負責業務邏輯而不會通過out.append()動態生成HTML程式碼;JSP中也不會充斥著大量的業務程式碼,這大大提高了程式碼的可讀性和可維護性。
這是原生的設計開發模式,真正的專案開發中,大多使用到框架。關於框架執行流程請看:
SSM框架下web專案執行流程 、大白話說微服務架構、spring boot執行流程、
相關文章
- 模式介紹模式
- 設計模式:介紹設計模式
- 極簡架構模式-MVC模式架構模式MVC
- 雲設計模式介紹設計模式
- AORedis哨兵模式介紹jtqRedis模式
- 觀察者模式介紹模式
- CSS設計模式介紹CSS設計模式
- java設計模式一一設計模式的簡介和介紹Java設計模式
- MVC模式和MVP模式的區別MVC模式MVP
- JAVA設計模式 1 設計模式介紹、單例模式的理解與使用Java設計模式單例
- 設計模式:原型模式介紹 && 原型模式的深拷貝問題設計模式原型
- 學習筆記-設計模式:MVC模式筆記設計模式MVC
- 設計模式的相關介紹設計模式
- MQTT 釋出/訂閱模式介紹MQQT模式
- seata分散式事務AT模式介紹(二)分散式模式
- 蛋仔派對主題模式介紹模式
- [專業術語]MVC模式MVC模式
- 到底是倉庫模式好,還是MVC模式好?模式MVC
- 設計模式學習筆記(八)介面卡模式介紹及其應用設計模式筆記
- MYSQL的安全模式:sql_safe_updates介紹MySql模式
- 消消樂對戰PK模式開發介紹模式
- 簡單介紹Go 語言單例模式Go單例模式
- CLR的GC工作模式介紹(Workstation和Server)GC模式Server
- 淺談前端MVC與MVVC模式前端MVC模式
- 淺談MVC/MVP/MVVM模式(概述)MVCMVPMVVM模式
- MVC設計模式深入理解MVC設計模式
- MVC模式的替代者ADRMVC模式
- MVVM與MVC模式的比較MVVMMVC模式
- 設計模式:裝飾者模式介紹及程式碼示例 && JDK裡關於裝飾者模式的應用設計模式JDK
- RPC模式的介紹以及簡單的實現RPC模式
- 艾倍生系統開發模式詳情介紹模式
- NLPIR系統的中文語義分析模式介紹模式
- Web前端技術的發展,介紹MV*模式Web前端模式
- 絕地求生激戰場黑夜模式玩法介紹 刺激戰場黑夜模式怎麼玩?模式
- MVC,MVP 和 MVVM 模式如何選擇?MVCMVPMVVM模式
- 選用Vue做MVC架構模式VueMVC架構模式
- 快速瞭解Web MVC設計模式WebMVC設計模式
- Yii2設計模式——設計模式簡介設計模式