前言:這兩天總結了一些Servlet和JSP裏面的知識,寫了幾篇博客,果真有種「溫故而知新」的感受,學完這些,繼續前行,開始整合框架裏的知識,框架雖好,可底層原理該掌握的也得掌握,防止之後作項目的時候再掉坑,坑多了,也是很煩人的,爲了之後工做的時候不加班,那就在大學暑假加加班吧。設計模式
Sun公司推出JSP技術後,同時也推薦了兩種Web應用程序 的開發模式,一種是JSP+JavaBean模式,一種是Servlet+JSP+JavaBean模式,這兩種模式的學習恰好和以前寫過的博客相對應,真是無巧不成書(實際上是我故意的,皮一下,嘿嘿)。框架
JSP+JavaBean適合開發業務邏輯不太複雜的Web程序,這種模式下JavaBean用來封裝和處理數據,JSP主要是處理用戶的請求,用來顯示數據。學習
Servlet+JSP+JavaBean模式被稱爲(MVC)模式,這種模式適合開發複雜的Web程序,這種模式下Servlet主要用來處理用戶請求,JSP負責數據顯示,JavaBean負責數據封裝和處理,這種模式程序各個模塊之間的層次很是清晰,Web開發推薦採用這種模式。spa
其實Sun公司最先推出的一個動態的網頁開發技術是Servlet,可是Servlet自己是有一些缺陷的,它的缺陷主要有兩個:設計
考慮到這些,Sun公司又推出了一個動態的網頁開發技術——JSP,JSP比起Servlet確實挺好的,它自己不須要配置,並且在顯示一些頁面元素的時候特別簡單,可是JSP也有缺陷,JSP在封裝和處理數據的時候很麻煩,這個時候人們就想到了Java類, 由於在JSP裏面寫的代碼很難有複用的,但咱們能在Java類裏面定義方法,定義其餘的一些東西,這個時候咱們能夠在JSP裏調用這個類裏面的方法,這樣代碼會有很強的複用性,這個時候人們就想到了JavaBean+JSP這種模式,這種模式的優勢在於可讓JSP去顯示數據,由於JSP顯示數據是比較方便的,可使用JavaBean來封裝和處理數據,這樣他們就各司其職了。3d
可是這種模式作一些小的應用還能夠,但要是作一些複雜的應用,在後期的維護上是很麻煩的,這個時候人們就想到了Servlet+JSP+JavaBean模式,這種模式的優勢是用Servlet來處理用戶的請求,而後JSP用來顯示數據,JavaBean用來封裝和處理數據,這樣他們更能各司其職了,這種模式就是傳說中的MVC模式。blog
這種模式對後期的維護很方便。開發
對這兩種模式還不理解的我能夠再舉個例子,模式一至關於在一間教室裏坐了好多學生,而後有用戶請求過來講想找某一個學生,以下圖所示,咱們直接可讓他找走了,由於JSP裏面是能夠直接調用JavaBean裏面的方法的,new個類而後調方法,而後就完事了,但這樣顯得特別亂,這個時候就有了模式二。get
模式二是什麼呢,就是教室裏面站一個老師,那麼用戶請求過來要先通過這位老師,老師會根據用戶的請求作出相應的調度,好比說用戶要找張三,老師說能夠,就把張三給找走了,以下圖:博客
好比說用戶又想找李四,老師說不能夠,那就不能再去找李四了。這樣會有一個統一的調度,有這樣調度的好處就是讓你知道咱們的請求到咱們的控制裏之後會執行哪一個類,執行哪一個操做,而後怎麼去顯示都是由Servlet統一管理的,Servlet不作具體的事情,只是拿到任務以後去安排JavaBean去作,而後顯示的時候就讓JSP去顯示,Servlet只負責統一的管理,這種模式這種思想就叫MVC設計模式。這是對MVC的一個簡單的介紹,說到這,應該有朋友能看懂吧,我以爲還挺詳細的,自吹一把。
介紹這些不是說這個必須得會,但我以爲至少學習要學的明明白白,不要糊里糊塗的,迷茫的去學,那樣不只效率低下,並且掌握不牢固,會限制你的思惟,學習的過程當中多探索幾個爲何,說不定學習起來就會起到事半功倍的效果。
*****************************************************************************************************
個人博客園地址:https://www.cnblogs.com/zyx110/
本文已獨家受權給腳本之家(jb51net)公衆號獨家發佈