天天看點

探讨jsp相對路徑和絕對路徑

問題:當在jsp使用相對路徑引入其他js檔案的時候,通過浏覽器通路該頁面一切正常,但是通過伺服器跳轉到該頁面,就會出現檔案404的錯誤。

解答:同樣一個頁面,用戶端跳轉與伺服器跳轉的相對路徑是不一樣的。伺服器的跳轉都是相對于http://localhost:8080/項目名/,而用戶端的跳轉是相對于頁面所在檔案夾的位置。

解決該問題有兩種方案

首先提供一個項目目錄結構:

探讨jsp相對路徑和絕對路徑

一:使用<base>标簽

[html] view plain copy

<%      

     String path = request.getContextPath();      

     String basePath = request.getScheme()+ "://" +request.getServerName()+ ":"+request.getServerPort()+path+ "/" ;      

%>    

<base href="<%=basePath%>">  

在demo.jsp頁面添加上面一段代碼,basePath的值http://localhost:8080/項目名/ , 它的作用就是限制該jsp頁面url路徑都要根據它的所在位置來定,這時候在1.jsp頁面可以這樣引入jquery.min.js

<script src="js/jquery.min.js" type="text/javascript"></script>  

這樣不管是用戶端通路還是服務端跳轉通路都沒有問題

二:使用絕對路徑 ${pageContext.request.contextPath}

<script src="${pageContext.request.contextPath}/js/jquery.min.js" type="text/javascript"></script> 

福利一:前端,Java,産品經理,微信小程式,Python等8G資源合集大放送:https://www.jianshu.com/p/e8197d4d9880

福利二:微信小程式入門與實戰全套詳細視訊教程

領取方式:

如果需要學習視訊,歡迎關注 【程式設計微刊】微信公衆号,回複【領取資源】一鍵領取以下所有幹貨資源,擷取更多有用技術幹貨、文檔資料。所有文檔會持續更新,歡迎關注一起成長!

探讨jsp相對路徑和絕對路徑

繼續閱讀