老項目改springMVC后,jsp中的靜態資源都訪問不到404


 

老項目改springMVC后,jsp中的靜態資源都訪問不到404

jsp能得到,但是jsp里引入的js、css都訪問不到,不通過controller直接輸入地址沒問題

參考下文章發現:

原jsp中js、css的路徑是這樣寫的:

 

 改成如下就好了:

 

 

 

 

轉:

 

springMVC請求返回視圖中引入的靜態資源路徑不正確 

springMVC搭建的web項目,通過controller返回的jsp視圖,

jsp頁面中引入的js、css靜態文件,報錯404

發現路徑都帶着controller的requestMapping的路徑。

controller如下:

請求地址如下:

http://localhost:8088/test/test?id=1

靜態文件位置及路徑:

 

原因:jsp頁面中路徑不以“/”開頭,會當做相對路徑處理。

通過controller訪問返回的jsp視圖,是由你的服務器(tomcat)解析。

所以其(jsp)相對路徑就會是服務器的路徑。而不是其所在靜態資源位置的相對路徑。

 

解決辦法:

        1:改為絕對路徑。

<script src="/js/jquery.min.js"></script>

        2:頁面頂部獲取request.getContextPath() 獲取站點根路徑

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>

        然后再引用靜態資源前面加上<$=path %>如下

    <link rel="stylesheet" type="text/css" href="<%=path %>/css/magnific-popup.css">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM