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

IntelliJ IDEA Community 版構建 Struts 2 專案:Maven + Git + Tomcat/Jetty 完整配置指南

     編輯:Java 綜合教學

IntelliJ IDEA Community 版構建 Struts 2 專案:Maven + Git + Tomcat/Jetty 完整配置指南

IntelliJ IDEA Community Edition 免費支援 Maven、Git、應用伺服器整合,足以構建企業級 Java Web 專案。本文以 Struts 2 為例,記錄從專案創建到運行驗證的完整步驟。

一、創建 Maven Web 專案

  1. File → New → Project,選 Maven,勾選 Create from archetype,選 maven-archetype-webapp。
  2. 填寫 GroupId、ArtifactId、Version,完成。IDEA 自動下載依賴並生成標準目錄:
project-root/
├── pom.xml
└── src/
    └── main/
        ├── resources/
        ├── webapp/
        │   ├── WEB-INF/
        │   │   └── web.xml
        │   └── index.jsp
        └── java/          # 需手動創建
            └── ...
  1. 右鍵 src/main/java → Mark Directory as → Sources Root(藍色標記)。

二、添加 Struts 2 依賴與配置

1. pom.xml 添加依賴

<dependencies>
    <!-- Struts 2 核心 -->
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.3.14</version> <!-- 或 2.5.x -->
    </dependency>
    <!-- Servlet API (provided 由容器提供) -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

2. web.xml 配置核心 Filter

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
  • Struts 2.3.x 用 ng.filter,2.5.x 改為 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter。

3. src/main/resources/struts.xml 定義 Action

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "https://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="com.example.HelloAction">
            <result>/hello.jsp</result>
        </action>
    </package>
</struts>

三、整合應用伺服器:Tomcat 7 / Jetty 9

方案 A:Maven Plugin 方式(推薦,無需本地安裝)

<build>
    <plugins>
        <!-- Tomcat 7 -->
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.1</version>
            <configuration>
                <port>9090</port>
                <path>/myapp</path>
                <uriEncoding>UTF-8</uriEncoding>
            </configuration>
        </plugin>

        <!-- Jetty 9 (替代方案) -->
        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.4.12.v20180830</version>
            <configuration>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <httpConnector>
                    <port>8080</port>
                </httpConnector>
            </configuration>
        </plugin>
    </plugins>
</build>
  • 運行:mvn tomcat7:run 或 mvn jetty:run,瀏覽器訪問 https://localhost:9090/myapp/hello。
  • 支援熱部署:修改 JSP/資源檔自動生效;Java 類需重啟或配合 JRebel。

方案 B:IDEA 本地 Tomcat 配置(生產環境模擬)

  1. 下載解壓 Tomcat 7/8/9 到本地。
  2. Run → Edit Configurations → + → Tomcat Server → Local。
  3. Server 標籤:配置 Tomcat Home、JRE、VM options(如 -Xmx512m)。
  4. Deployment 標籤:+ → Artifact → 项目名:war exploded,Application context 設為 /。
  5. Before launch:確保有 Build Artifact 步驟。

四、Git 版本控制整合

  1. VCS → Enable Version Control Integration → Git。
  2. 專案根目錄建立 .gitignore:
# IDEA
.idea/
*.iml
*.ipr
*.iws

# Maven
target/
*.log

# OS
.DS_Store
Thumbs.db
  1. VCS → Commit → 填寫訊息 → Commit and Push(若已配置 Remote)。

五、驗證運行

  1. 啟動 Tomcat/Jetty Plugin 或 Local Server。
  2. 瀏覽器訪問 Action URL,確認 Struts 2 處理流程正常。
  3. 控制台觀察 Struts 初始化日誌:Loading configuration...、Action mapping...。

六、常見問題速查

  • 問題解決
    404 No mapping檢查 struts.xml namespace/action name、web.xml filter-mapping url-pattern
    ClassNotFound: StrutsPrepareAndExecuteFilter依賴版本與 Filter 類不匹配(2.3 vs 2.5),Maven 重新導入
    中文亂碼web.xml 添加 CharacterEncodingFilter、struts.xml constant struts.i18n.encoding=UTF-8
    熱部署不生效Java 類修改需重啟;JSP/資源檔在 Plugin 模式下自動重掃

    七、總結

    IDEA Community + Maven Plugin 模式,零安裝成本即可獲得完整的開發、調試、版控、部署體驗。掌握 pom.xml 插件配置、web.xml/struts.xml 核心配置、Git 忽略規則,是 Java Web 開發者的必備基本功。

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