Ken*_*thC 2 java spring spring-mvc spring-boot
我正在制作一个处理程序,其中当用户尝试访问不存在的网址时,我应该能够将用户重定向到登录页面或自定义错误页面,我正在使用异常处理程序来捕获错误,但问题是它不会转到处理程序,而是只给我一个白色标签错误页面。
这是代码:
@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.";
}
Run Code Online (Sandbox Code Playgroud)
小智 10
我认为你可以尝试这个,至少它对我有用:
application.properties:spring.mvc.throw-exception-if-no-handler-found=true
spring.resources.add-mappings=false
Run Code Online (Sandbox Code Playgroud)
ResourceNotFoundException为NoHandlerFoundException@ExceptionHandler(value = NoHandlerFoundException.class)
public String exception(NoHandlerFoundException e, ...) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9058 次 |
| 最近记录: |