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

JSP 專案引入本地 jQuery 報 404:靜態資源勿放在 WEB-INF 目錄

     編輯:程式設計綜合問答

現象

JSP 頁面引入本地 jQuery:<script src="jquery.min.js"></script>,瀏覽器開發者工具 Network 顯示 404 Not Found。

常見原因與排查

原因說明解決
靜態檔案置於 WEB-INF/Servlet 規範禁止直接存取 WEB-INF、META-INF 目錄移至專案根目錄或 resources/, static/, js/ 等公開目錄
路徑寫法錯誤相對路徑隨 JSP 所在層級變化使用 ${pageContext.request.contextPath}/js/jquery.min.js 絕對路徑
專案未發布/發布路徑不一致Eclipse/IDEA 部署時未包含該資源夾檢查 Deployment Assembly / Artifacts 設定
Spring MVC / Struts 截獲靜態請求DispatcherServlet url-pattern 為 / 且無 <mvc:resources/>配置 <mvc:resources mapping="/js/**" location="/js/"/> 或 <mvc:default-servlet-handler/>

標準專案結構範例

MyWebApp/
├── src/
├── WebContent/ (或 webapp/)
│   ├── WEB-INF/
│   │   ├── web.xml
│   │   └── jsp/           <-- JSP 放這裡
│   ├── js/
│   │   └── jquery.min.js  <-- 靜態資源放這裡
│   ├── css/
│   └── index.jsp

JSP 引入最佳寫法

<script src="<%=request.getContextPath()%>/js/jquery.min.js"></script>

<c:url value="/js/jquery.min.js" var="jqUrl"/>
<script src="<%=jqUrl%>"></script>

快速驗證

  1. 瀏覽器直接訪問 https://localhost:8080/MyWebApp/js/jquery.min.js 應可下載/顯示原始碼。
  2. 若 404,檢查伺服器日誌與部署結構。

核心鐵律:靜態資源絕不可放入 WEB-INF,路徑必須以 ContextPath 為基準。

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