原因1:在Controller中返回页面地址前面多了一个"/"
解决办法:将返回页面最前面的"/"去掉
//商城登录页面
@GetMapping("/user/login")
public String userLogin() {
return "mall/login";
}
//商城注册页面
@RequestMapping("/user/register")
public String userRegister() {
return "mall/register";
}
原因2:当前页面中加载了其他的页面(当前显示的页面由多个HTML页面共同拼凑而成),加载其他页面的路径前多了"/"
解决办法:将页面最前面的"/"去掉
<header th:replace="mall/header::header-fragment"></header>
<!-- nav -->
<nav th:replace="mall/header::nav-fragment"></nav>
原因3:在controller中返回页面未区分大小写,本地时不区分大小写能正常访问,但是服务器必须区分大小写
解决办法:controller中的页面地址一定要与资源中的页面名称大小写一致