23.11.12总结(Java拦截器 order的值越小越优先执行,项目进度)

遇到的问题

对于这个项目来说,需要处理跨域问题,还要使用jwt,这里在后端设置了两个拦截器,总是会出现跨域问题,是由于token拦截器先执行(会遇到跨域问题)。

还有一种情况是预请求(没有携带token)出问题,因为在token拦截器中设置了返回错误,所以预请求处理之后没有携带token就直接返回错误给前端,因为预请求请求失败,所以请求不能发出去,这个情况只需要把token拦截器中,返回错误的地方删除就好了。

预请求:与head类似,是客户端用于查看服务器的性能 。JavaScript的XMLHttpRequest对象进行CORS跨域资源共享时,就是使用OPTIONS方法发送嗅探请求,以判断是否有对指定资源的访问权限

Java拦截器的执行顺序

顺序是分级的,filter/springinterceptor/aop三级,其中filter优先级最大。

  • filter是继承javax.servlet.Filter的
  • springinterceptor是spring里的拦截器,实现HandlerInterceptor的
  • aop是指@Aspect注解的类

拦截器有一个order属性,用于指定拦截器的执行顺序。order属性的值越小,拦截器的执行优先级越高。

优先级:Order的值越小越先执行

注意:

  1. 如果不用@Order注解,相当于用 @Order(Integer.MAX_VALUE)
  2. 顺序按照@Order的值从小到大,如果值相同,就按照 “在项目中的先后顺序规则”

 

写了几个页面:

商家主页

23.11.12总结(Java拦截器 order的值越小越优先执行,项目进度)_第1张图片

个人资料页面:

23.11.12总结(Java拦截器 order的值越小越优先执行,项目进度)_第2张图片

商家管理页面: 

23.11.12总结(Java拦截器 order的值越小越优先执行,项目进度)_第3张图片

主页: 

搜索商家:

23.11.12总结(Java拦截器 order的值越小越优先执行,项目进度)_第4张图片

 

 

 

你可能感兴趣的:(小结,项目,vue3)