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

解決 JSP 報錯「The requested resource is not available」的常見原因與處理方法

     編輯:程式設計綜合問答

問題現象

在 WebContent 目錄下並未建立「01」資料夾,但運行 index.jsp 時卻報錯:

type Status report
message /01/index.jsp
description The requested resource is not available.

index.jsp 僅包含一行重導向代碼:

<% response.sendRedirect("DiaryServlet?action=listAllDiary"); %>

原因分析

錯誤訊息顯示請求路徑為 /01/index.jsp,說明容器試圖訪問一個不存在的資源。常見原因包括:

  • 專案部署路徑配置錯誤,導致上下文路徑包含多餘的「01」目錄。
  • Tomcat 緩存了舊的部署資訊,殘留了先前專案的路徑映射。
  • IDE(如 Eclipse/MyEclipse)發布配置不正確,將專案發布到了錯誤的子目錄。

解決方案

  1. 清理 Tomcat 工作目錄:關閉 Tomcat,刪除 work、temp 資料夾內的內容,並清空 webapps 下對應專案的目錄與 WAR 包。
  2. 重新發布專案:在 IDE 中移除伺服器上的專案,清理伺服器狀態,再重新添加並發布。
  3. 檢查部署路徑設置:確認專案的 Deployment Assembly 或發布配置中,上下文路徑是否正確(通常為 /專案名),不應包含額外的「01」層級。
  4. 驗證 web.xml 與 Servlet 映射:確保 DiaryServlet 的 URL 映射正確,重導向目標存在。

最佳實踐建議

開發階段建議啟用 Tomcat 的自動重載功能,並養成「清理後重新發布」的習慣,避免緩存導致的路徑錯誤。若問題持續,可檢查伺服器日誌(catalina.out 或 localhost.<日期>.log)獲取更詳細的堆棧資訊。

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