在springboot项目中,我们遇到404找不到的错误、或者500服务器错误都需要配置我们自定义的错误页面给用户一个友好的提示
我们需要实现ErrorController接口,重写handleError方法。
package com.rshare.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.boot.web.servlet.error.ErrorController;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class MainsiteErrorController implements ErrorController{
@RequestMapping("/error")
public ModelAndView handleError(HttpServletRequest request){
//获取statusCode:401,404,500
Integer statusCode = (Integer) request.getAttribute("javax.servlet.error.status_code");
ModelAndView model = new ModelAndView();
if(statusCode == 401){
model.setViewName("401.html");
}else if(statusCode == 404){
model.setViewName("404.html");
}else if(statusCode == 403){
model.setViewName("403.html");
}else{
model.setViewName("500.html");
}
return model;
}
@Override
public String getErrorPath() {
return "/error";
}
}