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

IntelliJ IDEA 配置 Java Web 專案與 Tomcat 服務器完整圖解(2024 最新版)

     編輯:Java 綜合教學

環境準備

  • IntelliJ IDEA 2024.x (Ultimate 版支援 Java EE,Community 需插件)
  • JDK 17/21 已配置 JAVA_HOME 與 Path
  • Tomcat 10.1.x (Jakarta EE 9+) 或 9.0.x (Java EE 8) 下載解壓至無中文無空格路徑

創建 Java Web 專案(Maven 結構推薦)

  1. File → New → Project
  2. 左側選 **Maven**,右側勾選 **Create from archetype** → 選 **webapp** (或 `maven-archetype-webapp`)
  3. GroupId: `com.example`, ArtifactId: `my-webapp`, Version: `1.0-SNAPSHOT`
  4. 點擊 Next → 選擇 Maven 安裝路徑、settings.xml → Finish
  5. IDEA 自動生成標準目錄:
    src/main/java、src/main/resources、src/main/webapp/WEB-INF/web.xml

配置 Tomcat 服務器(Run/Debug Configuration)

  1. Run → Edit Configurations... → + → Tomcat Server → Local
  2. Server 页籤:
     Name: `Tomcat 10.1`
     Tomcat Server: 瀏覽選擇 Tomcat 解壓根目錄
     JRE: 選擇專案 JDK 17/21
     VM options: `-Dfile.encoding=UTF-8 -Xms512m -Xmx1024m`
  3. Deployment 页籤(關鍵):
     + → Artifact... → 選擇 `my-webapp:war exploded` (開發熱部署首選)
     **Application context**: `/` (或 `/myapp`,生產建議非根路徑)
     勾選 Update resources on frame deactivation (失焦自動熱更換靜態資源)
  4. Server 页籤 → Startup/Connection:
     HTTP port: `8080` (避免衝突)
     Shutdown port: `8005`
     勾選 Pass environment variables
  5. Apply → OK

熱部署與熱加載優化

專案結構調整:多模塊化

my-webapp (parent, pom)
├── web-module (war)          # Controller、View、啟動類
├── service-module (jar)      # Service、事務
├── dao-module (jar)          # Mapper、Entity
└── common-module (jar)       # DTO、Util、Exception

父模塊 `packaging=pom`,子模塊依賴關係:`web → service → dao → common`。

常見問題排查

層面配置效果
靜態資源 (HTML/JS/CSS)Deployment → Update resources on frame deactivation編輯器失焦即同步到 exploded 目錄,瀏覽器刷新生效
Java 類/配置Run → Edit Configurations → On 'Update' action: Update classes and resourcesCtrl+F10 觸發熱插拌,無需重啟
Spring Boot 專項依賴 spring-boot-devtools + IDEA Registry `compiler.automake.allow.when.app.running`類文件修改自動編譯 + 重啟應用上下文
現象原因解決
404 Not FoundApplication context 不匹配、部署路徑錯誤檢查 Deployment → Application context、web.xml ``
ClassNotFound: javax.servlet.*Tomcat 10+ 遷移至 jakarta.servlet.*依賴 `jakarta.servlet-api`、代碼改 `import jakarta.servlet.*`
端口衝突8080 被佔用修改 Server → HTTP port、或 `netstat -ano | findstr 8080` 殺進程
中文亂碼編碼未統一VM options `-Dfile.encoding=UTF-8`、Tomcat `URIEncoding="UTF-8"`、DB 連接 `characterEncoding=utf8`
熱部署不生效未選 exploded artifact、未勾選 Update 選項重新配置 Deployment、確認 `compiler.automake.allow.when.app.running`

生產部署建議

  1. Maven `package` 生成 `war` 包。
  2. 生產 Tomcat `webapps/ROOT.war` (根路徑) 或 `webapps/myapp.war` (自動解壓)。
  3. JVM 參數調優:`-Xms2g -Xmx2g -XX:+UseG1GC -XX:MaxGCPauseMillis=200`。
  4. 前置 Nginx 靜態資源分離、SSL 終結、負載均衡、限流熔斷。

IntelliJ IDEA 實用技巧

  • Ctrl+Shift+A → `Registry` → `compiler.automake.allow.when.app.running` 勾選(熱加載核心)。
  • Ctrl+Shift+F10 快速運行單元測試 / Main 方法。
  • Alt+F12 內嵌終端,直接跑 Maven/Git 指令。
  • Database 工具窗口直連 MySQL,執行 SQL、看執行計劃。
  • HTTP Client (`.http` 文件) 替代 Postman 測試 API。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved