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

Tomcat 啟動正常但所有頁面 404:常見五大原因與排查步驟總結

     編輯:Java 相關知識

現象描述

Tomcat 控制台無錯誤啟動成功,但訪問任意頁面(包括靜態 HTML、JSP、Servlet)均返回 HTTP 404。

五大核心原因與解決方案

1. 請求路徑錯誤

  • 檢查瀏覽器地址欄:項目名、Servlet 映射路徑、大小寫是否與代碼一致。
  • 常見錯誤:漏寫項目上下文路徑、映射路徑寫錯(如 /user 寫成 /users)。

2. web.xml Servlet 映射配置錯誤

<servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/myservlet</url-pattern> <!-- 必須以 / 開頭 -->
</servlet-mapping>
  • 確認 <servlet-name> 與 <servlet> 定義一致。
  • url-pattern 支持精確匹配、路徑匹配 (/api/*)、擴展匹配 (*.do)。

3. Eclipse 中 Tomcat Server Location 配置不當

Server Location 設置

  • 雙擊 Servers 視圖中的 Tomcat,修改 Server Locations 為 Use Tomcat installation(使用 Tomcat 安裝目錄下的 wtpwebapps 部署)。
  • 默認 Use workspace metadata 會部署到臨時目錄,導致路徑不匹配。

4. Servlet API JAR 包未隨項目發布

  • 右鍵項目 → Properties → Deployment Assembly → Add → Java Build Path Entries → 選中 Servlet API 库。
  • 或將 servlet-api.jar 放入 WEB-INF/lib(注意:Tomcat 自帶 servlet-api.jar,放入 lib 可能導致版本衝突,建議設置為 Provided 依賴)。

5. Deployment Assembly 缺少項目源碼/資源

Deployment Assembly 缺失

  • 右鍵項目 → Properties → Deployment Assembly,確認 src/、WebContent/ 等源文件夾已映射到 WEB-INF/classes、/。
  • 若誤刪除,點擊 Add → Folder 重新添加。
  • 修改後必須 Clean Tomcat Work Directory 並重新發布/重啟。

排查檢查清單

  1. 控制台是否有異常堆棧?
  2. 瀏覽器 Network 面板查看實際請求 URL 與響應碼。
  3. Tomcat webapps 目錄下是否有項目文件夾?內部結構是否正確?
  4. 嘗試訪問靜態資源(如 /index.html)區分是 Servlet 映射問題還是項目未部署。
  5. 查看 Tomcat localhost_access_log 確認請求是否到達容器。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved