核心定義
| 術語 | 角色 | 所屬層 | 說明 |
| Servlet | 控制器入口 | Web層 | Java EE 標準接口,接收 HTTP 請求、調用業務、轉發視圖。Struts2/SpringMVC 底層均基於 Servlet。 |
| JavaBean | 數據載體 | 各層 | 符合規約的 POJO:私有字段、公有 Getter/Setter、無參構造。充當 Entity/DTO/VO/Form。 |
| Struts2 | MVC 框架 | Web層 | 核心:攔截器鏈 + Action + 結果視圖。約定優於配置,表單數據自動封裝到 Action 屬性。 |
| Hibernate | ORM 框架 | 持久層 | 對象關係映射,Session 管理實體生命周期,HQL/Criteria 查詢,一級/二級緩存。 |
| Spring | 容器/AOP/事務 | 全層 | IOC 容器管理 Bean 生命周期,AOP 切面編程,聲明式事務,整合 MyBatis/Hibernate、Struts/SpringMVC。 |
| SpringMVC | MVC 框架 | Web層 | Spring 家族原生 MVC,DispatcherServlet 核心,HandlerMapping/Adapter/ViewResolver 鏈,RESTful 支持優秀,與 Spring 生態無縫整合。 |
分層架構圖解
┌─────────────────────────────────────┐
│ 表現層 │ ← JSP/Thymeleaf + SpringMVC Controller
├─────────────────────────────────────┤
│ 業務層 │ ← Service (Spring Bean) + @Transactional
├─────────────────────────────────────┤
│ 持久層 │ ← DAO/Mapper (Hibernate/MyBatis)
├─────────────────────────────────────┤
│ 數據庫 │ ← MySQL/Oracle
└─────────────────────────────────────┘
▲ ▲ ▲
JavaBean JavaBean JavaBean (Entity/DTO/VO 流轉各層)
學習建議
- 先掌握 **Servlet + JDBC + JSP** 原生開發,理解請求處理全流程。
- 再學 **Spring IOC/AOP** 核心思想,理解依賴倒置。
- 然後接觸 **SpringMVC + MyBatis** 現代棧(Struts2/Hibernate 逐漸邊緣)。
- 實戰中觀察框架如何解決原生開發痛點(如事務傳播、SQL 映射、參數綁定)。