本文記錄在 MyEclipse for Spring (兼容 Eclipse) 中使用 Maven 創建標準 Web 項目、解決 Servlet API 缺失報錯、編譯部署至 Tomcat 的完整步驟,適合初學者快速上手。
com.mycompanymy-webappmy-webapp ├── src │ └── main │ ├── webapp │ │ ├── WEB-INF │ │ │ └── web.xml │ │ └── index.jsp │ └── resources (手動創建) ├── pom.xml └── target (編譯產出)
補充: 右鍵項目 → Build Path → New Source Folder,添加 src/main/java、src/test/java 目錄。
新建項目默認缺少 Servlet API 庫,導致 index.jsp 報錯。修復步驟:
原理: Tomcat 的 servlet-api.jar 提供了 Servlet/JSP 編譯所需的類,加入構建路徑即可編譯期滿足依賴;運行期由容器提供,勿打包進 WAR (scope=provided)。
BUILD SUCCESS.war 或 classes/ 目錄.war 複製到 Tomcat webapps/,啟動自動解壓https://localhost:8080/my-webapp/,看到 index.jsp 內容即成功
javax.servlet
javax.servlet-api
4.0.1
provided
javax.servlet.jsp
javax.servlet.jsp-api
2.3.3
provided
javax.servlet
jstl
1.2
junit
junit
4.13.2
test
${project.artifactId}
org.apache.maven.plugins
maven-war-plugin
3.3.2
false
| 現象 | 原因 | 解決 |
|---|---|---|
| JSP 頁面 404 | webapp 目錄結構錯誤 / 未部署 | 確認 src/main/webapp/WEB-INF/web.xml 存在;重新發布 |
| 修改 JSP 不生效 | Tomcat 緩存 / 未開啟熱部署 | Server 配置勾選「Automatically publish when resources change」 |
| 中文亂碼 | 編碼未統一 | pom.xml 設置 project.build.sourceEncoding = UTF-8;JSP 頁首 pageEncoding |
| 依賴下載失敗 | 鏡像源/網絡 | settings.xml 配置阿里云鏡像;mvn -U 強制更新 |
掌握「Maven 骨架創建 → 構建路徑添加 Server Runtime → Maven install → Tomcat 發布」這條主線,後續擴展 SpringMVC、Spring Boot、微服務都建立在這套標準化構建部署流程之上。建議動手實操一遍,將截圖步驟轉化為肌肉記憶。