本地訪問正常,項目發佈後卻找不到資源?

1、提出問題

我本地訪問的資源路徑是這樣的

<script  src="js/jquery-3.4.0.js"></script>

經過解析後資源的全路徑是

<script  src="http://localhost:8080/js/jquery-3.4.0.js"></script>

本地測試一切正常,上線後資源卻報404錯誤

2、找出原因

項目部署以後會多一個根路徑,如部署在tomcat上時,war包名爲test.war,那麼上下文路徑(根路徑)就爲http://ip:port/test,

而不再是http://ip:port/

所以部署以後會找不到資源

3、解決方案

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<c:set var="webRoot" value="<%=basePath%>" />

以上代碼能動態獲取項目的完整根路徑,並將其存入webRoot變量中

<script  src="${webRoot}/js/jquery-3.4.0.js"></script>

然後這樣訪問資源即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章