IntelliJ IDEA Community Edition 免費支援 Maven、Git、應用伺服器整合,足以構建企業級 Java Web 專案。本文以 Struts 2 為例,記錄從專案創建到運行驗證的完整步驟。
File → New → Project,選 Maven,勾選 Create from archetype,選 maven-archetype-webapp。GroupId、ArtifactId、Version,完成。IDEA 自動下載依賴並生成標準目錄:project-root/
├── pom.xml
└── src/
└── main/
├── resources/
├── webapp/
│ ├── WEB-INF/
│ │ └── web.xml
│ └── index.jsp
└── java/ # 需手動創建
└── ...
src/main/java → Mark Directory as → Sources Root(藍色標記)。<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>
<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>
ng.filter,2.5.x 改為 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter。<?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>
<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。Run → Edit Configurations → + → Tomcat Server → Local。Server 標籤:配置 Tomcat Home、JRE、VM options(如 -Xmx512m)。Deployment 標籤:+ → Artifact → 项目名:war exploded,Application context 設為 /。Before launch:確保有 Build Artifact 步驟。VCS → Enable Version Control Integration → Git。.gitignore:# IDEA
.idea/
*.iml
*.ipr
*.iws
# Maven
target/
*.log
# OS
.DS_Store
Thumbs.db
VCS → Commit → 填寫訊息 → Commit and Push(若已配置 Remote)。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 開發者的必備基本功。