关于springboot拦截器拦截异常

当项目没有指定异常处理机制:try catch或者注解等形式,springboot拦截器中的BasicErrorController类会执行拦截,跳转到配置的拦截后跳转的地址,也就是没有登录时跳转的地址。只需要将这个操作默认放行就可以
1、
@Override
	protected void addInterceptors(InterceptorRegistry registry) {
		registry.addInterceptor(loginInterceptor)
				.addPathPatterns("/**")
				.excludePathPatterns("/**/error");
		super.addInterceptors(registry);
	}

也就是添加“/**/error”,error是针对BasicErrorController类的requestMapping的地址就行判断的,一般都是默认的,如果改动了需要重新指定。
2、
还有一种是使用try catch,如果后台该代码不建议使用,一个代码量多改起来复杂,第二个页面判断的也麻烦

try{
	代码块
}catch (Exception e) {
	//定义状态,前台页面使用
	model.addAttribute("errorMesage", 1);
}

页面加载的时候执行

var error="${errorMesage}";
	 <c:if test="${errorMesage==1}">
		alert('网络异常'); 
	</c:if> 

完毕!个人是两种都用了,以防万一

    原文作者:傲慢小胖妞
    原文地址: https://blog.csdn.net/weixin_42932323/article/details/85279192
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞