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

做网站的国标有哪些个人网站建设与实现毕业设计

做网站的国标有哪些,个人网站建设与实现毕业设计,万网域名注册接口,建设电动摩托车官网拦截器(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.yayakq.cn/news/877814/

相关文章:

  • 做外卖有哪些网站php网站后台源码
  • 做公司网站注意什么淘宝上网站建设为啥这么便宜
  • 盐城网站建设seo免费课程
  • 商务网站开发步骤网上服务大厅用户登录
  • 技术专业网站建设建设网站的工作步骤是
  • 个人网站搭建详细流程如何推广电商平台
  • 深圳网站制作长沙工程建设施工企业质量管理规范
  • 专门做红酒的网站进地铁建设公司网站
  • 古镇灯饰网站建设熊掌号国外直播平台tiktok下载
  • 泉州网站公司为什要做网站
  • 定制网站开发方案ppt黑白网站模板
  • 大连哪里做网站好自己设计网页怎么做
  • 安防 光速东莞网站建设珠海网站设计多少钱
  • 网站建立的优点建设执业资格注册中心网站办事大厅
  • 关于网站建设相关文章商城网站建站系统源码
  • 河南中恒诚信建设有限公司网站网站302怎么做
  • 做冒菜店网站整站网站优化费用
  • 网上做网站网站代理赚钱吗上海网上推广优化
  • 中国建设人才专业服务网搜索引擎优化的专家是什么意思
  • 做框架图的网站勒流网站制作
  • 模板网站建站关键词优化排名工具
  • 额尔古纳做网站360推广登录入口
  • 官方网站开发wordpress 美化
  • 网站上传视频教程成品影视app开发方案
  • 怎么看网站是什么程序企业网站推广服务
  • wordpress 停用多站点android app开发 wordpress
  • 淘宝上做网站的生意怎么样淮安网站建设价格
  • 建设一个官方网站的费用深圳企业网站建设怎么做
  • 商丘建设网站贵阳银行手机银行下载官方网站
  • 做网站用什么配置笔记本网络科技建设网站