我正在制作一个处理程序,其中当用户尝试访问不存在的 url 时,我应该能够将用户重定向到登录页面或自定义错误页面,我正在使用异常处理程序来捕获错误,但问题是它不会转到处理程序,而是只给我一个白标错误页面..这是代码:@ExceptionHandler(value = ResourceNotFoundException.class) public String exception(ResourceNotFoundException e, HttpServletRequest request, RedirectAttributes redirectAttributes) { long now = new Date().getTime(); long lastAccessed = request.getSession().getLastAccessedTime(); boolean isNotLoggedIn = (now - lastAccessed) <= 0L; if (isNotLoggedIn) { return "forward:/login"; } return "forward:/access-forbidden?errorMessage=Page Not found."; }
2 回答
森林海
TA贡献2011条经验 获得超2个赞
我想你可以试试这个,至少它对我有用:
在 中添加这两个属性application.properties:
spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
将异常类型从 更改ResourceNotFoundException为NoHandlerFoundException
@ExceptionHandler(value = NoHandlerFoundException.class)
public String exception(NoHandlerFoundException e, ...) {
添加回答
举报
0/150
提交
取消