日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于WEB三层架构的思考

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于WEB三层架构的思考 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.MVC設計思想

MVC程序設計思想是眼下比較流行的WEB開發的模式,當中,M(model)是模型。即JavaBean,用來封裝和保存數據;V(view)是視圖,即JSP。用來顯示內容;C(controller)是控制器,即servlet,用來處理業務邏輯。大致流程是這種:編寫一個JSP頁面用來獲取信息(如登錄頁面獲取用戶登錄名、password)。并將信息封裝到JavaBean中,提交到server端由WEB容器將數據封裝成request請求。交給servlet來處理。

servlet從請求中獲取用戶信息到數據庫中查詢。并返回對應的結果(登錄成功或失敗),再將結果封裝成response響應發送給client瀏覽器,瀏覽器依據response頭和其它信息進行對應的顯示。

如圖:



MVC設計思想將數據封裝、顯示和業務處理分開,JavaBean、JSP和servlet都僅僅做自己最擅長的事,模塊化使整個過程更加清晰,符合Java低耦合的思想,提高代碼的靈活性,易于擴展和維護。

詳細分工例如以下圖:


2.WEB三層架構

從上圖能夠看出。數據訪問層中JavaBean既要存儲數據內容又要獲取數據內容,這違背了單一職責原則。

我們希望JavaBean僅僅是單純的用來封裝數據。其它的交給別人來做,因此在WEB開發中,將數據訪問層進一步細化。用JavaBean來封裝數據,而數據是持久化存儲在數據庫中(也能夠是XML等文件里)。通過DAO(Data Access Object)數據訪問對象來查詢數據庫(或解析XML文件等)。有時,視圖層不一定僅僅有JSP。,有些內容須要通過servlet技術顯示,如登錄頁面的驗證碼。當業務邏輯過多時,業務邏輯層就會顯得特別臃腫。不利于擴展和維護。這時能夠將業務功能抽象成接口,詳細功能由子類實現。

那么問題來了,怎么知道哪個類去處理哪個業務邏輯呢?解決方式是定義一個核心servlet。用來接收全部的client請求,通過推斷將請求交給相應的業務處理子類去處理。這里可參見Struts2的實現原理。這里不再贅述。

這樣,業務邏輯層就分成了兩部分:用于顯示的servlet和分發業務的servlet。例如以下圖:



3.真實案例

然而。真正開發中,以上并非終于的解決方式。

拿一個實際案例來說。開發一個簡單的B2C電子交易平臺系統(功能包含:用戶登錄、注冊、郵箱驗證、查看商品、加入商品、購物車、下單、在線支付等),包結構例如以下:


~~未完待續~~

以上均為個人觀點。如有疑問。歡迎交流~~


總結

以上是生活随笔為你收集整理的关于WEB三层架构的思考的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。