首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Java Web 經典三層架構與 MVC 設計思想演進

     編輯:Java 綜合教學

Java Web 經典三層架構與 MVC 設計思想演進

技術演進路線

  1. Servlet 時代:在 Java 代碼中拼接 HTML 字符串(out.println("<html>...")),維護極其痛苦。
  2. JSP 時代:在 HTML 中嵌入 Java 腳本(<% ... %>),界面與邏輯混雜。
  3. JSP + JavaBean:提取業務邏輯到 JavaBean,JSP 僅負責調用展示,初步分離。
  4. Servlet + JSP + JavaBean (Model 2 / MVC):Servlet 做控制器(請求分發、流程控制),JavaBean 做模型(數據封裝、業務邏輯),JSP 做視圖(純展示)。這是經典三層 Web 架構的雛形。

Java Web 經典三層結構

┌─────────────────────┐
│      表現層          │  ← JSP / Servlet (Controller) / HTML / JS
│   (View / Controller)│
├─────────────────────┤
│      業務層          │  ← Service (業務邏輯、事務控制)
│      (Service)       │
├─────────────────────┤
│      數據層          │  ← DAO (數據庫增刪改查) + JavaBean (實體類)
│      (DAO / Entity)  │
└─────────────────────┘

JavaBean 規範回顧

JavaBean 是遵循特定約定的 Java 類,作為各層間數據傳輸載體:

  1. 提供 無參構造器(供框架反射實例化)。
  2. 屬性 私有化(private),封裝數據。
  3. 提供 公共 Getter/Setter 方法(getXxx/setXxx),供外部訪問/修改。
  4. 實現 Serializable 接口(支持分布式傳輸/會話序列化)。

架構優勢總結

層次職責單一性可維護性可測試性復用性
Servlet (Controller)只負責接收請求、調用 Service、選擇視圖高易 Mock Service 單測控制邏輯復用
Service (Business)核心業務規則、事務邊界高純 Java 類,極易單元測試跨控制器復用
DAO (Data Access)SQL 構建、數據庫交互細節高可 Mock 數據源測試數據訪問邏輯復用
JSP (View)純模板渲染,無業務代碼高前端獨立開發模板復用

這種分層思想不僅是 Java Web 的基石,也是 Spring、MyBatis 等主流框架設計的核心依據。理解其演進歷程,有助於在微服務時代做出更合理的模塊劃分決策。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved