当项目没有指定异常处理机制: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>
完毕!个人是两种都用了,以防万一