This application has no explicit mapping for /error, so you are seeing this as a fallback.如何添加全局错误页面
时间: 2023-09-23 07:08:25 浏览: 43
您可以通过自定义一个错误处理器来添加全局错误页面。在Spring Boot中,您可以使用 `@ControllerAdvice` 注解来创建一个全局的异常处理类,并使用 `@ExceptionHandler` 注解来处理特定类型的异常。
首先,在您的项目中创建一个新的类,并使用 `@ControllerAdvice` 注解标记它,示例如下:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception ex) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("error"); // 设置错误页面的视图名称
modelAndView.addObject("errorMessage", ex.getMessage()); // 将错误信息添加到模型中
return modelAndView;
}
}
```
在上面的示例中,我们使用 `@ExceptionHandler(Exception.class)` 注解来定义一个处理所有异常的方法。在方法内部,我们创建一个 `ModelAndView` 对象,并将错误页面的视图名称设置为 "error"。您可以根据自己的需求修改视图名称。
接下来,您可以在资源文件夹(通常是 `src/main/resources`)中创建一个名为 "error.html"(或其他视图名称)的错误页面。在该页面中,您可以使用Thymeleaf或其他模板引擎来展示错误信息。
现在,当发生异常时,Spring Boot将会调用 `handleException` 方法,并显示您定义的全局错误页面。
请注意,如果您使用的是Spring MVC而不是Spring Boot,则需要手动配置`InternalResourceViewResolver`来解析视图。可以在您的配置类(如WebConfig)中添加以下代码:
```java
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/views/");
viewResolver.setSuffix(".html");
return viewResolver;
}
```
这将设置视图解析器的前缀和后缀,以便正确解析视图。请根据您的项目结构和视图文件的位置进行相应的更改。
这样,您就可以添加全局错误页面并处理异常了。希望对您有所帮助!