【MVC模式】Front前端控制器模式、Jsp Model1 和 Jsp Model2、MVC思想
Front前端控制器模式
Front前端控制器模式,是一種JavaEE模式:用一個servlet控制主入口,然后根據不同的情況,將請求分發給相應的處理程序。
Jsp Model1 和 Jsp Model2
(1)Jsp Model1
Model 1模式的實現比較簡單,適用于快速開發小規模項目。但從工程化的角度看,它的局限性非常明顯:JSP頁面身兼View和Controller兩種角色,將控制邏輯和表現邏輯混雜在一起,從而導致代碼的重用性非常低,增加了應用的擴展性和維護的難度。
(2)Jsp Model2——MVC
Jsp Model2中使用了三種技術JSP、Servlet和JavaBeans
- Jsp負責生成動態網頁,只用做顯示頁面。
- Servlet負責流程控制,用來處理各種請求的分派。
- JavaBeans負責業務邏輯,對數據庫的操作。
使用Jsp Model2的交互過程:
用戶通過瀏覽器向Web應用中的Servlet發送請求,Servlet接受到請求后實例化JavaBeans對象,調用JavaBeans對象的方法,JavaBeans對象返回從數據庫中讀取的數據。Servlet選擇合適JSP,并且把從數據庫中讀取的數據通過這個JSP進行顯示,最后JSP頁面把最終的結果返回給瀏覽器。
Model 2已經是MVC設計思想下的架構,由于引入了MVC模式,使Model 2具有組件化的特點,更適用于大規模應用的開發,但也增加了應用開發的復雜程度。
Jsp Model2 優點
I.消除了Jsp Model1的缺點
II.該模式適合多人合作開發大型的Web項目
III.各司其職,互不干涉
IV.有利于開發中的分工
V.有利于組件的重用
Jsp Model2 缺點
Web項目的開發難度加大,同時對開發人員的技術要求也提高了
代碼命名規范
1.項目名:沒有要求,不起中文
2.包:公司域名倒寫com.bjsxt
3.數據訪問層:dao, persist, mapper
4.實體:entity, model, bean,javabean, pojo
5.業務邏輯: service,biz
6.控制器: controller, servlet,action,web
7.過濾器: filter
8.異常: exception
9.監聽器:listener
10.注釋:類上和方法上使用文檔注釋/** */,在方法里面使用/* */或//
11.類: 大駝峰
12.方法,屬性:小駝峰
MVC 開發模式
關于異常處理方法
在數據訪問層、控制器中處理異常,在service中只拋出異常
關于使用框架:
一個框架只負責自己的一部分。而不是說使用一個框架之后,整個項目結構全變了。
比如,學mybatis,就bao層需要改動
學springmvc,就servlet需要改動。
service層的業務邏輯是自己寫的,不存在使用框架替換的情況。
學習框架的過程,就是把自己原來寫的項目結構一點一點替換的過程,
一些框架的作用
MyBatis:數據訪問層框架
Spring框架:Ioc,AOP
SpringMVC框架:對servlet封裝
1、 M: Model 模型,實體類和業務和dao
2、 V: view 視圖. JSP
3、C:Controller 控制器,servlet
- 作用:視圖和邏輯分離
4、MVC 適用場景:大型項目開發.
5、圖示例
- 先設計數據庫
- 然后寫實體類
- 持久層
- 業務邏輯
- 控制器
- 視圖
關于servlet的線程安全
是否線程安全,看servlet的service方法外部的自定義類(如下圖的FlowerService)聲明中,有沒有定義多余的全局對象。
絕對不要為了線程安選而像下面18行這樣寫:這樣會每次調用new一個對象,在大量調用時,嚴重消耗內存。GC只有在JVM內存不夠的時候才會回收。
看到里面有一個全局的Dao,點進去
而Dao里面沒有全局對象,所以不會影響線程安全
總結
以上是生活随笔為你收集整理的【MVC模式】Front前端控制器模式、Jsp Model1 和 Jsp Model2、MVC思想的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【算法设计与分析】Dijskra算法代码
- 下一篇: 【HTML】HTML+CSS复习笔记