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

Servlet 跳轉 JSP 404 錯誤:路徑解析與部署發布檢查清單

     編輯:程式設計疑難解答

Servlet 中使用 sendRedirect、forward、JS 跳轉均報 404,核心原因通常是路徑錯誤或未重新發布。

路徑解析規則

方式路徑參考點正確寫法示例
sendRedirect瀏覽器地址欄(相對當前請求 URL)response.sendRedirect("excelInport.jsp") 或 response.sendRedirect(request.getContextPath() + "/excelInport.jsp")
forwardWeb 應用根目錄(相對 Context Root)request.getRequestDispatcher("/excelInport.jsp").forward(...) (建議以 / 開頭)
JS location.href瀏覽器地址欄window.location.href = '${pageContext.request.contextPath}/excelInport.jsp';

排查清單

  1. 確認 excelInport.jsp 物理位置:在 webapp/ 或 WebContent/ 根目錄下?還在子目錄?
  2. 檢查 web.xml 中 <welcome-file-list>、Servlet 映射路徑是否衝突。
  3. 清理並重新發布:IDE 中 Clean -> Rebuild -> 刪除 Server 發布目錄 -> 重新啟動 Server。
  4. 瀏覽器開發者工具 Network 面板查看 302/404 詳情,確認最終請求 URL 是否正確。

常見坑

  • sendRedirect("excelInport.jsp") 在 Servlet 路徑為 /a/b 時會跳轉到 /a/excelInport.jsp,應用 request.getContextPath() 拼絕對路徑。
  • JSP 放在 WEB-INF 下則無法直接訪問,需 forward 而非 redirect。

90% 的 404 由路徑拼接錯誤或發布緩存導致,系統排查即可解決。

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