在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>
