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>
然後這樣訪問資源即可