Spring Boot跳转重置密码页报404,JSP路径出现异常前缀问题求解
问题根因
你配置的视图前缀是相对路径,没有以 / 开头,Spring MVC解析视图路径时会从当前请求的路径层级拼接前缀,因此访问 /reset-password/{uuid} 路径时,就会把当前路径的/reset-password 拼到你的相对路径前缀前,最终生成错误的JSP查找路径 /reset-password/WEB-INF/jsp/reset-password.jsp。
解决方案
修改application.properties中的视图前缀配置,补全开头的/,同时删除配置值前后的多余空格:
# 改前(错误):spring.mvc.view.prefix= WEB-INF/jsp/ spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
修改后重启服务即可正常加载reset-password.jsp页面。
补充说明
如果需要进一步优化控制器写法,也可以将类上的路径变量移到方法层面,避免类级别的路径变量带来不必要的路径解析影响,但本次问题的核心是视图前缀的相对路径配置错误,调整配置即可解决。
内容的提问来源于stack exchange,提问作者Lukas
相关产品推荐
相关产品推荐

