關於SpringBoot頁面跳轉以及訪問靜態資源問題總結


 

在springboot項目中默認訪問路徑是static文件夾和template文件夾,static文件夾下的資源可以通過瀏覽器直接訪問(如:localhost:8080/index.html,如有文件夾輸入正確路徑即可 如:localhost:8080/image/abc.jpg),而template文件夾下的頁面需要在controller中跳轉進行訪問。在controller中如果直接return頁面的名稱那么默認從template文件夾中去尋找對應的頁面,例如:

@RequestMapping("/login")
    public String login() {
        return "/login";
    }

這樣的情況會默認去template文件夾下尋找login.html去跳轉。

 

那么如果html文件在static文件夾下就需要這么寫來進行跳轉:

@RequestMapping("/login")
    public String toIndex() {
        return "../static/login.html";
    }

 

假如你js這么寫,這個代碼的意思是跳轉到login這個請求,SpringBoot會根據Controller中的RequestMapping找到"/login"請求,然后執行里面的內容,並不是跳轉到"signin.html"

window.location.href = "login";

 

假如你js這么寫,也會失敗,因為服務器會把"signin.html"當成一個請求,原理跟上面第一點一樣。

window.location.href = "signin.html";

如果需要直接超鏈接跳轉到頁面,而不經過請求,那就把要跳轉的頁面放在static下,沒有這個文件夾就新建就好。然后別用這個window.location.href寫,

直接用超鏈接

   <a href="${request.contextPath}/statics/index.html">資源統計分析</a>

 

 
        

 


免責聲明!

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



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