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

Java Web 404 錯誤排查:Servlet 路徑映射與相對路徑陷阱

     編輯:程式設計綜合問答

錯誤現象

按 web.xml 配置的 Servlet 路徑訪問,瀏覽器回傳 404 The requested resource is not available。

常見原因與解決

1. 相對路徑寫法錯誤

JSP 中連結:

<a href="../servlet/DeleteStuServlet?stu_id=...">刪除</a>

../ 代表父目錄,若當前頁面層級不固定,路徑會偏移導致 404。

2. 解決方案:使用絕對路徑(含 Context Path)

<a href="${pageContext.request.contextPath}/servlet/DeleteStuServlet?stu_id=...">刪除</a>

${pageContext.request.contextPath} 會自動解析為專案部署根路徑(如 /MyApp),確保路徑正確。

3. 檢查 web.xml 映射

<servlet-mapping>
  <servlet-name>DeleteStuServlet</servlet-name>
  <url-pattern>/servlet/DeleteStuServlet</url-pattern>
</servlet-mapping>

確認 url-pattern 與前端請求路徑一致(區分大小寫)。

4. 部署檢查

  • Tomcat 控制台無報錯、Servlet 類編譯無誤。
  • 專案已正確發布至 webapps 或通過 IDE 部署。

最佳實踐

  • 統一使用 contextPath 輸出連結,避免手寫相對路徑。
  • 考慮改用 @WebServlet("/servlet/DeleteStuServlet") 註解配置(Servlet 3.0+),減少 XML 維護。

路徑問題佔 Java Web 404 錯誤 90% 以上,掌握絕對路徑寫法即可徹底解決。

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