Spring boot错误页面配置,我用在jsp上,html也一样效果

首先创建一个配置类

@Component
public class ErrorConfig implements ErrorPageRegistrar{
	//配置错误状态与对应访问路径
	@Override
	public void registerErrorPages(ErrorPageRegistry registry) {
		ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404");
		ErrorPage error405Page = new ErrorPage(HttpStatus.METHOD_NOT_ALLOWED, "/405");
		ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500");
		registry.addErrorPages(error404Page,error405Page,error500Page);
	}

}

然后写一个controller跳转error页面

@Controller
public class MyExceptionHandler {
	//处理404 405 500请求错误
		@RequestMapping({"/404","/405","/500"})
		public String error404Page(HttpServletResponse response,HttpServletRequest request) {
			int status = response.getStatus();
			String msg="";
			if (status==404) {
				msg="Not Found! 未找到,服务器找不到请求的网页";
			}
			if (status==405) {
				msg="METHOD_NOT_ALLOWED! 方法禁用,禁用请求中指定的方法";
			}
			if (status==500) {
				msg="Internal Server Error! 服务器内部错误,服务器遇到错误,无法完成请求";
			}
			
			request.setAttribute("status", status);
			request.setAttribute("message", msg);
			return "/error/error";
		}
		}

我这样写的好处是把所有error都在一个error处理,但是问题就是写死了,有更好的建议可以评论,谢谢!
还有bug就是不能处理其他的错误请求,其他错误请求还是会到原来的页面上。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值