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

传统文化网站建设方案烟台北京网站建设公司哪家好

传统文化网站建设方案,烟台北京网站建设公司哪家好,网站建站步骤,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.15wanjia.com/news/182347.html

相关文章:

  • 哪家做网站做得好公司网站建设需要哪些内容
  • 适合小型网络公司的建站方式可以为简单网站页面设计
  • 布吉网站建设哪家技术好网站分成推广怎么做
  • 濮阳市网站建设软件工程主要是学什么
  • 广州网站建设广州网络推广公司接go语言网站开发
  • 开发施工建设网站审核众筹网站功能
  • html做音乐网站模板网站域名需要每年续费
  • 凉山网站建设腾讯微博同步到wordpress
  • 深圳网站建设高端设计网站中文域名到期
  • 用wordpress做站群高权重域名做网站
  • 建设厅网站进不去市场营销管理是做什么的
  • 国外产品网站今天刚刚发生的新闻最新新闻
  • 北京专业的网络seoseo教程技术资源
  • 汽车用品东莞网站建设网站开发技术介绍
  • 潍坊网站排名优化深圳建设材料价格网站
  • 凡科申请的网站和qq空间一样吗什么是网站什么是网站建设
  • 网站设计方案书ppt软件开发属于技术服务吗
  • 中国建设银行人力资源网站专注律师微信网站建设
  • iis网站建设中全国造价信息网官网
  • 网站如何推广电商网站开发设计文档
  • 酷站官网河南锦路路桥建设有限公司网站
  • 怎么建个人网站asp企业网站
  • 西宁网站制作哪里好建房城乡建设部网站
  • 如何制作网站新手教程网站建设白云
  • 北京建设门户网站个人网站 阿里云
  • 公司接到网站中文域名到期注册一家公司需要什么条件
  • 昆明做网站软件吐鲁番网站建设
  • 网站备案 企业 个人app导航网站源码
  • 建站师telent可以自己做网站服务器不
  • php 读取网站文件宁夏网页设计网站