用框架名唬人誰都會,那你知道Web開發模式嗎?——莫問前程莫裝逼

泰斗賢若如發表於2019-07-24

前言:這兩天總結了一些Servlet和JSP裡面的知識,寫了幾篇部落格,果然有種“溫故而知新”的感覺,學完這些,繼續前行,開始整合框架裡的知識,框架雖好,可底層原理該掌握的也得掌握,防止以後做專案的時候再掉坑,坑多了,也是很煩人的,為了以後工作的時候不加班,那就在大學暑假加加班吧。

 

 

Web開發模式背景

Sun公司推出JSP技術後,同時也推薦了兩種Web應用程式       的開發模式,一種是JSP+JavaBean模式,一種是Servlet+JSP+JavaBean模式,這兩種模式的學習剛好和之前寫過的部落格相對應,真是無巧不成書(其實是我故意的,皮一下,嘿嘿)。

 

Web開發模式解答

JSP+JavaBean模式

 

 

 

 

JSP+JavaBean適合開發業務邏輯不太複雜的Web程式,這種模式下JavaBean用來封裝和處理資料,JSP主要是處理使用者的請求,用來顯示資料。

 

Servlet+JSP+JavaBean模式

 

 

 

 

Servlet+JSP+JavaBean模式被稱為(MVC)模式,這種模式適合開發複雜的Web程式,這種模式下Servlet主要用來處理使用者請求,JSP負責資料顯示,JavaBean負責資料封裝和處理,這種模式程式各個模組之間的層次非常清晰,Web開發推薦採用這種模式。

 

 

Web開發模式分析

其實Sun公司最早推出的一個動態的網頁開發技術是Servlet,但是Servlet本身是有一些缺陷的,它的缺陷主要有兩個:

  • l  Servlet都需要進行相應的配置
  • l  Servlet在顯示HTML元素的時候很複雜

考慮到這些,Sun公司又推出了一個動態的網頁開發技術——JSP,JSP比起Servlet確實挺好的,它本身不需要配置,而且在顯示一些頁面元素的時候特別簡單,但是JSP也有缺陷,JSP在封裝和處理資料的時候很麻煩,這個時候人們就想到了Java類,         因為在JSP裡面寫的程式碼很難有複用的,但我們能在Java類裡面定義方法,定義其他的一些東西,這個時候我們可以在JSP裡呼叫這個類裡面的方法,這樣程式碼會有很強的複用性,這個時候人們就想到了JavaBean+JSP這種模式,這種模式的優點在於可以讓JSP去顯示資料,因為JSP顯示資料是比較方便的,可以使用JavaBean來封裝和處理資料,這樣他們就各司其職了。

 

 

 

但是這種模式做一些小的應用還可以,但要是做一些複雜的應用,在後期的維護上是很麻煩的,這個時候人們就想到了Servlet+JSP+JavaBean模式,這種模式的優點是用Servlet來處理使用者的請求,然後JSP用來顯示資料,JavaBean用來封裝和處理資料,這樣他們更能各司其職了,這種模式就是傳說中的MVC模式。

 

 

 

MVC

 

 

MVC開發流程

 

 

這種模式對後期的維護很方便。

對這兩種模式還不理解的我可以再舉個例子,模式一相當於在一間教室裡坐了好多學生,然後有使用者請求過來說想找某一個學生,如下圖所示,我們直接可以讓他找走了,因為JSP裡面是可以直接呼叫JavaBean裡面的方法的,new個類然後調方法,然後就完事了,但這樣顯得特別亂,這個時候就有了模式二。

 

 

 

 

模式二是什麼呢,就是教室裡面站一個老師,那麼使用者請求過來要先經過這位老師,老師會根據使用者的請求做出相應的排程,比如說使用者要找張三,老師說可以,就把張三給找走了,如下圖:

 

 

 

 

比如說使用者又想找李四,老師說不可以,那就不能再去找李四了。這樣會有一個統一的排程,有這樣排程的好處就是讓你知道我們的請求到我們的控制裡以後會執行哪個類,執行哪個操作,然後怎麼去顯示都是由Servlet統一管理的,Servlet不做具體的事情,只是拿到任務之後去安排JavaBean去做,然後顯示的時候就讓JSP去顯示,Servlet只負責統一的管理,這種模式這種思想就叫MVC設計模式。這是對MVC的一個簡單的介紹,說到這,應該有朋友能看懂吧,我覺得還挺詳細的,自吹一把。

 

 

 

總結

介紹這些不是說這個必須得會,但我覺得至少學習要學的明明白白,不要糊里糊塗的,迷茫的去學,那樣不僅效率低下,而且掌握不牢固,會限制你的思維,學習的過程中多探索幾個為什麼,說不定學習起來就會起到事半功倍的效果。

 

 

 

*****************************************************************************************************

我的部落格園地址:https://www.cnblogs.com/zyx110/

轉載請說明出處

我不能保證我所說的都是對的,但我能保證每一篇都是用心去寫的,我始終認同“分享的越多,你的價值增值越大”,歡迎大家關注我的技術分享“Java匹馬行天下”和學習心得分享“匹馬行天下”,在分享中進步,越努力越幸運,期待我們都有美好的明天!

支援我的朋友們記得點波推薦哦,您的肯定就是我進步的動力。

 

相關文章