JDK 是 Java 生態的核心,包含 JRE(執行環境)、開發工具(javac、java、jar、javadoc 等)與 核心類庫(rt.jar)。所有 Java 應用伺服器本質上都內嵌特定版本 JDK。主流選擇:
建議:優先採用 LTS 版本(8、11、17、21),生產環境統一版本避免驚喜。
官方 API 文檔是開發者的「字典」。下載離線版(docs.zip)可在無網絡環境下秒級檢索類別、方法、註解。IDE 設定 javadoc URL 指向本地路徑,懸停即見完整說明。
| 伺服器 | 定位 | 特色 | 授權 |
|---|---|---|---|
| Tomcat | Servlet/JSP 容器 | 輕量、啟動快、生態豐富、支援 JNDI/連線池/交易 | Apache 2.0 |
| Jetty | 嵌入式優先容器 | 模組化、支援 HTTP/2、WebSocket、適合微服務嵌入 | Apache 2.0 / EPL |
| WildFly (JBoss) | 完整 Jakarta EE | 模組化類載入、管理主控台、CLI 腳本化運維 | LGPL |
| GlassFish / Payara | Jakarta EE 參考實作 | 標準相容性最佳、管理主控台完善 | EPL+GPL / Payara 商業支援 |
| WebLogic | 大型企業級 | 叢集、多租戶、JMS、完整商業支援體系 | 商業授權 |
| WebSphere | 銀行/金融級 | 高可用、安全強化、IBM 生態整合 | 商業授權 |
JAVA_HOME、CATALINA_HOME$CATALINA_HOME/bin/startup.sh 啟動,預設 8080 埠tomcat-users.xml 啟用管理主控台(/manager、/host-manager)setenv.sh)僅需 JRE。打包工具:jpackage(JDK 14+)、Launch4j、MSI Wrapper。
Browser (HTML/JS/CSS)
↓ HTTP/REST
Web Layer (Servlet/JSP/Spring MVC/Controller)
↓ JDBC/JPA
DB Layer (MySQL/PostgreSQL/Oracle)
Browser / Mobile / Desktop Client
↓
Web Layer (Controller, View)
↓
EJB / Service Layer (Business Logic, Transaction)
↓
DB Layer (Data Access)
現代架構常以 Spring Boot + 微服務 取代傳統 EJB,輕量化部署至 Kubernetes。
工具選型無絕對優劣,關鍵在於團隊熟悉度、專案規模、維護週期、雲原生演進路徑。以 JDK LTS 為錨,容器化為標準輸出,逐步引入自動化工具鏈,才是長期交付質量的保障。