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

Java Web 開發入門指南:核心概念、主流伺服器與 Tomcat 完整部署實戰

     編輯:Java 相關知識

Java Web 開發是企業級應用的基石。本文系統梳理 Web 基礎概念、靜態/動態資源區別、主流 Servlet 容器對比,並以 Tomcat 為例詳述從下載、安裝、啟動到常見問題排查的完整流程。

一、Web 核心概念建立

1. 什麼是 Web 資源?

  • 靜態資源:HTML、CSS、JS、圖片等,內容固定,伺服器直接回傳。技術棧:HTML/CSS/JavaScript。
  • 動態資源:JSP、Servlet、Controller 等,內容由程式邏輯動態生成,可連接資料庫、處理業務。技術棧:JSP/Servlet、Spring MVC、Spring Boot。

2. Web 應用結構

一個標準 Web 應用目錄結構:

mywebapp/
├── index.html          # 靜態資源
├── css/
├── js/
├── WEB-INF/            # 安全目錄,客戶端不可直接訪問
│   ├── web.xml         # 部署描述符 (Servlet 3.0+ 可選)
│   ├── classes/        # 編譯後 .class 檔
│   └── lib/            # 依賴 JAR 包
└── META-INF/

3. Web 發展史與技術對比

技術特點現狀
CGI (Perl/C)每請求啟動進程,效能差已淘汰
ASP (VBScript)Windows/IIS 綁定,代碼混亂已淘汰 → ASP.NET Core
PHP開發快、跨平台、生態豐富主流選項之一
Java Servlet/JSP多執行緒、跨平台、企業級生態、標準化企業級首選

二、主流 Java Web 伺服器/容器

產品廠商定位特點
TomcatApache 基金會Servlet/JSP 容器輕量、開源、免費、標準支援完整、開發測試首選
JettyEclipse 基金會嵌入式 Servlet 容器模組化、嵌入式優秀、Spring Boot 內嵌預設
WebLogicOracle (原 BEA)完整 Java EE 應用伺服器功能全、商業授權、大型企業核心系統
WebSphereIBM企業級應用伺服器高可用、整合 IBM 生態、銀行/電信核心
JBoss / WildFlyRed HatJava EE 應用伺服器開源、模組化、雲原生友善

學習建議:入門與開發階段專注 Tomcat;生產部署視架構選擇 Tomcat 集群、Jetty 嵌入或完整應用伺服器。

三、Tomcat 完整部署實戰

1. 下載與安裝

  • 官網:tomcat.apache.org
  • 選擇版本:Tomcat 9 (Servlet 4.0)、Tomcat 10 (Servlet 5.0/Jakarta EE 9)、Tomcat 10.1+ (Servlet 6.0/Jakarta EE 10)。
  • Windows:下載 zip (解壓即用) 或 exe (安裝為服務)。Linux/Mac:下載 tar.gz。

2. 環境變數配置(關鍵步驟)

# Windows 系統環境變數
JAVA_HOME = D:\Java\jdk-17          # JDK 安裝根目錄 (非 bin 目錄)
PATH += %JAVA_HOME%\bin             # 讓 java/javac 指令全域可用
CATALINA_HOME = D:\Apache\apache-tomcat-10.1  # Tomcat 根目錄 (可選,啟動腳本會自動推導)

原理:startup.bat 內部讀取 JAVA_HOME 尋找 java.exe,未配置會啟動失敗。

3. 啟動與驗證

  • 進入 bin 目錄,雙擊 startup.bat (Windows) 或執行 ./startup.sh (Linux/Mac)。
  • 瀏覽器訪問 https://localhost:8080,出現 Tomcat 貓咪歡迎頁即成功。

4. 常見啟動失敗排查

現象原因解決方案
閃退/無輸出JAVA_HOME 未設或錯誤檢查環境變數指向 JDK 根目錄 (含 bin、lib),非 JRE
端口 8080 被佔用其他程式佔用 (Oracle XE, 其他 Tomcat, IDE 內建)1) 修改 conf/server.xml <Connector port="8081"/> 2) netstat -ano | findstr 8080 找 PID 終止進程
ClassNotFound / NoClassDefFoundJDK 版本不匹配 (如 JDK 8 跑 Tomcat 10+)確認 JDK 版本符合 Tomcat 要求 (Tomcat 10+ 需 JDK 11+)
亂碼/編碼問題URI 編碼不一致server.xml Connector 加 URIEncoding="UTF-8"

5. 關鍵日誌分析

啟動失敗時,logs/catalina.yyyy-MM-dd.log 是第一手線索:

# 典型端口佔用錯誤
java.net.BindException: Address already in use: bind
    at org.apache.tomcat.util.net.StandardSocketProcessor.bind(...)

# 典型 JAVA_HOME 錯誤
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

四、開發模式最佳實踐

  1. IDE 整合:IntelliJ IDEA / Eclipse 直接管理 Tomcat,支援熱部署、除錯斷點。
  2. Maven/Gradle 插件:tomcat7-maven-plugin 或 cargo 實現一鍵部署測試。
  3. Spring Boot 內嵌:現代開發多用 spring-boot-starter-web 內嵌 Tomcat/Jetty,無需獨立安裝,打包為可執行 JAR 即可部署。

五、從入門到進階的學習路徑

  1. 掌握 Servlet API 生命週期、Request/Response、Session、Filter、Listener。
  2. 熟練 JSP / JSTL / EL 表達式,理解 MVC 模式。
  3. 學習 JDBC、連接池 (HikariCP)、事務管理。
  4. 進入 Spring 生態:Spring MVC → Spring Boot → Spring Cloud。
  5. 掌握前後端分離架構:RESTful API + Vue/React,容器化部署。

打牢 Web 基礎與容器操作功夫,是成為合格 Java 後端工程師的必經之路。

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