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

Java、數據庫、Web 三者關係:從 Servlet 到 Spring Boot 的演進圖解

     編輯:程式設計綜合問答

核心關係圖


┌─────────────────────────────────────┐
│           客戶端                     │
│  瀏覽器 / App / 小程序 / Postman     │
└──────────────┬──────────────────────┘
               │ HTTP/HTTPS (JSON, Form, Protobuf)
               ▼
┌─────────────────────────────────────┐
│           Web 容器                   │
│  Tomcat / Jetty / Undertow           │
│  - 監聽端口 (8080)                   │
│  - 解析 HTTP 請求                    │
│  - 管理 Servlet 生命週期             │
└──────────────┬──────────────────────┘
               │ Servlet API (Request/Response/Session)
               ▼
┌─────────────────────────────────────┐
│           Web 框架                   │
│  Spring MVC / Struts2 / Servlet原生   │
│  - 路由分發 (@RequestMapping)         │
│  - 參數綁定、校驗、類型轉換           │
│  - 視圖解析 (JSP/Thymeleaf/JSON)      │
└──────────────┬──────────────────────┘
               │ Service 層調用 (業務邏輯)
               ▼
┌─────────────────────────────────────┐
│           業務邏輯層                  │
│  Service / Manager / BO              │
│  - 事務管理 (@Transactional)          │
│  - 複雜業務編排                      │
└──────────────┬──────────────────────┘
               │ DAO/Repository 調用
               ▼
┌─────────────────────────────────────┐
│           數據訪問層                  │
│  MyBatis / JPA(Hibernate) / JDBC原生  │
│  - SQL 構建/映射                     │
│  - 連接池 (HikariCP/Druid)           │
└──────────────┬──────────────────────┘
               │ JDBC 協議
               ▼
┌─────────────────────────────────────┐
│           數據庫                     │
│  MySQL / PostgreSQL / Oracle / Redis │
│  - 持久化存儲                        │
│  - 索引、事務、鎖、複製               │
└─────────────────────────────────────┘

關鍵技術點串聯

層級核心技術作用
語言Java (JDK 8/11/17/21)運行時基礎、類加載、GC、多線程
Web 規範Servlet API (javax/ jakarta.servlet)容器與應用解耦的標準契約
框架Spring Boot (Spring MVC + 自動配置)約定優於配置、嵌入式容器、Starter 生態
ORMMyBatis (SQL 可控) / JPA (對象映射)對象關係映射、緩存、懶加載
連接池HikariCP (默認) / Druid高性能數據庫連接複用
數據庫MySQL 8.0 / PostgreSQL 15關係存儲、ACID、SQL 標準

演進時間線


1997  Servlet API 1.0          → Java 進入 Web 領域
1999  JSP 1.1                  → 動態頁面模板
2003  Spring Framework 1.0     → IOC/AOP 解耦
2004  Hibernate 3.0            → ORM 主流化
2005  Struts 1.x 流行          → MVC 模式普及
2007  Spring 2.5 + 注解        → 配置簡化
2011  Spring 3.1 + JavaConfig  → 無 XML 配置
2014  Spring Boot 1.0          → 微服務時代、嵌入式容器
2017  Spring Boot 2.0 / WebFlux → 響應式編程
2022  Spring Boot 3.0 / Jakarta EE 9+ → Java 17+ 基線、原生圖像

原回答補充

原最佳回答文字描述三者關係,上文提供分層架構圖、關鍵技術表、演進時間線,構建完整知識骨架。

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