springmvc interceptor prehandle执行了两次问题

springmvc interceptor prehandle执行了两次问题

如图获取请求路径,测试多次发现当请求数据正确拦截器方法会执行一次,当请求数据或请求路径错误时会自动触发一个/error请求

1.当请求数据路径都无误,并且请求路径未设置拦截,无打印信息(未拦截)

2.当请求数据路径都无误,并且请求路径设置拦截,一条打印信息(拦截)

3.当请求数据路径有误,并且请求路径设置拦截!!重点
当请求数据出错或者请求路径出错会自动转向一个/error请求路径,而此路径设置了拦截,就会再次触发拦截器方法拦截转向/error的请求
springmvc interceptor prehandle执行了两次问题

所以问题找到了,第一个解决方案就是放行/error请求。如果想要系统健壮点可以实现ErrorController接口,直接手写/error路径的映射方法会报错映射失败
springmvc interceptor prehandle执行了两次问题