通過瀏覽器的開發人員工具查看網頁原始碼發現css,js,img等資源的路徑出現了錯誤,路徑前邊多了一個控制器的路徑,類似:
http://localhost:8080/項目根目錄/控制器名稱/js/jquery-1.9.1.min.js
解決辦法:在jsp頁面中將資源的路徑設定為../js/jquery-1.9.1.min.js這樣就會返回控制器的上一層路徑了,最後得到的路徑是:
http://localhost:8080/項目根目錄/js/jquery-1.9.1.min.js
上邊這種解決辦法並不好,假設有這樣一種情境:我在myeclipse啟動項目,首先啟動並執行是一個登陸頁面,路徑為
http://localhost:8080/項目根目錄/login.jsp
login.jsp裡邊的css,js,img等資源的相對路徑如./js/jquery-1.9.1.min.js。
之後我進行登入,登入成功之後進入到一個新頁面,在這個新頁面裡邊有一個退出登入按鈕,這個按鈕點擊之後跳到控制器,這個控制器的路徑為:
http://localhost:8080/項目根目錄/控制器名稱/控制器裡邊的方法名稱
在這個控制器裡邊我進行一些退出登入的操作,進行完這些操作之後,我再次跳轉到了login.jsp頁面,這時候login.jsp裡邊的css,js,img等資源的路徑再次變為了
http://localhost:8080/項目根目錄/控制器名稱/js/jquery-1.9.1.min.js
依然載入不出來資源,所以最終的解決辦法是:引用css,js,img等資源檔以及在jsp頁面進行跳轉到其它頁面或者控制器的時候使用絕對路徑。
在jsp頁面首部加上這段代碼:
<% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%>
在css,js,img等資源檔以及存取控制器的相對路徑改為絕對路徑:
./js/jquery-1.9.1.min.js => <%=basePath %>js/jquery-1.9.1.min.js