Web開發模式詳解


前言:這兩天總結了一些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/

 本文已獨家授權給腳本之家(jb51net)公眾號獨家發布


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM