返回自定义异常界面,需要引入thymeleaf依赖(非必须,如果是简单的html界面则不用)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
resource目录下新建templates,并新建error.html
application.properties
spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/templates/ # session失效时间,30m表示30分钟 server.servlet.session.timeout=30m
CustomExtHandler.java
package net.cyb.demo.handler; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; /** * 标记这是一个异常处理类 */ @ControllerAdvice public class CustomExtHandler { @ExceptionHandler(value = Exception.class) ModelAndView HandlerException(Exception e, HttpServletRequest request){ ModelAndView modelAndView=new ModelAndView(); //错误页路径 modelAndView.setViewName("error.html"); modelAndView.addObject("msg",e.getMessage()); return modelAndView; } }
error.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> 这个是自定义异常界面 </body> </html>