当前位置: 首页 > news >正文

网站建设中美女免费cms建站系统

网站建设中美女,免费cms建站系统,wordpress 插件查看,又拍云存储WordPress拦截器(Interceptor) 概念:是一种动态拦截方法调用的机制,类似于过滤器。Spring框架中提供的,用来动态拦截控制器方法的执行。 作用:拦截请求,在指定的方法调用前后,根据业务需要执行…

拦截器(Interceptor)

概念:是一种动态拦截方法调用的机制,类似于过滤器。Spring框架中提供的,用来动态拦截控制器方法的执行。

作用:拦截请求,在指定的方法调用前后,根据业务需要执行预先设定的代码。

快速入门

定义拦截器

实现HandlerInterceptor接口,并重写其所有方法。 

@Component
public class LoginInterceptor implements HandlerInterceptor {@Override //目标方法执行前的执行,返回true放行,返回false不放行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return HandlerInterceptor.super.preHandle(request, response, handler);}@Override //目标方法执行后执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}@Override //视图渲染执行后执行,最后执行public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {HandlerInterceptor.super.afterCompletion(request, response, handler, ex);}
}

注册拦截器

@Configuration
public class WebConfig implements WebMvcConfigurer {@AutowiredLoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginInterceptor).addPathPatterns("/**");}
}

拦截器-拦截路径

拦截路径

含义

举例

/*

一级路径

能匹配/depts,/emps,/login,不能匹配 /depts/1

/**

任意级路径

能匹配/depts,/depts/1,/depts/1/2

/depts/*

/depts下的一级路径

能匹配/depts/1,不能匹配/depts/1/2,/depts

/depts/**

/depts下的任意级路径

能匹配/depts,/depts/1,/depts/1/2,不能匹配/emps/1

拦截器-执行流程

 Filter与Interceptor区别

  • 接口规范不同:过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口。
  • 拦截范围不同:过滤器Filter会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源。

 登录验证

  • 获取请求url。 判断请求url中是否包含login,如果包含,说明是登录操作,放行。
  • 获取请求头中的令牌(token)。
  • 判断令牌是否存在,如果不存在,返回错误结果(未登录)。
  • 解析token,如果解析失败,返回错误结果(未登录)。
  • 放行。

                                     

Interceptor的实现

@Slf4j
@Component
public class LoginInterceptor implements HandlerInterceptor {@Override //目标方法执行前的执行,返回true放行,返回false不放行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {//获取urlString url = request.getRequestURL().toString();log.info("url路径:{}",url);//获取tokenString token = request.getHeader("token");log.info("token:{}",token);//如果没有Tokenif (!StringUtils.hasLength(token)) {extracted(response);return false;}//解析tokentry {JwtUtils.parseJwt(token);} catch (Exception e) {e.printStackTrace();extracted(response);return false;}return true;}private void extracted(HttpServletResponse response) throws IOException {Result noLogin = Result.error("用户未登录");response.setCharacterEncoding("UTF-8");response.getWriter().write(JSONObject.toJSONString(noLogin));}@Override //目标方法执行后执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}@Override //视图渲染执行后执行,最后执行public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {HandlerInterceptor.super.afterCompletion(request, response, handler, ex);}
}

配置Interceptor

@Configuration
public class WebConfig implements WebMvcConfigurer {@AutowiredLoginInterceptor loginInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(loginInterceptor).addPathPatterns("/**").excludePathPatterns("/login");}
}

测试

 

 

http://www.yidumall.com/news/8298.html

相关文章:

  • 苏州建设工程合同备案网站成都网站推广
  • app软件下载网站源码百度百科词条创建入口
  • 山东建大建设有限公司网站下载百度极速版免费安装
  • 微信公众平台二次开发广告优化师前景怎样
  • 公司网站高端如何在百度上推广自己
  • 青岛网站优化联系方式项链seo关键词
  • 丹灶网站建设怎么在百度做网站推广
  • 无锡网站建设专家无锡网站制作朋友圈信息流广告投放价格
  • 河北网络建站国内ip地址 免费
  • 网站建设 sheji021网站模板套用教程
  • 网站模板整站资源贵州网站seo
  • 河南新蔡有做网站建设的吗请简述网络营销的特点
  • 网站开发职业要求seo页面代码优化
  • 大连网站开发公司排名网络推广优化网站
  • wang域名注册网站自媒体营销
  • 一个后台可以做几个网站企业网站制作公司
  • 合肥做企业网站的网络公司百度网盘服务电话6988
  • 教育网站制作一般多少钱广州网站建设正规公司
  • 帮人做诈骗网站获利怎么判百度搜索排名购买
  • 个人和做网站方签合同模板品牌网站建设方案
  • 莱州官方网站东莞网站推广排名
  • vue可以做web网站吗系统优化的意义
  • 网站建设及维护机搜收录批量查询
  • 做产品类的工作上什么网站好百度 营销推广怎么做
  • 有没有建筑学做区位分析的网站投放广告找什么平台
  • 注册博客域名做视频网站会怎么样怎么注册网址
  • aaa云主机可以建网站吗要做网络推广
  • 广州网站制作长沙seo诊断服务
  • 网页维护包括哪些百度上做优化一年多少钱
  • 在线制作简历网站如何做百度关键词推广