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

网站建设哪家有名商城购物平台

网站建设哪家有名,商城购物平台,前端代码做招新网站,小网站文案⭐⭐⭐⭐⭐⭐ Github主页👉https://github.com/A-BigTree 笔记链接👉https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以,麻烦各位看官顺手点个star~😊 如果文章对你有所帮助,可以点赞👍…

⭐⭐⭐⭐⭐⭐
Github主页👉https://github.com/A-BigTree
笔记链接👉https://github.com/A-BigTree/Code_Learning
⭐⭐⭐⭐⭐⭐

如果可以,麻烦各位看官顺手点个star~😊

如果文章对你有所帮助,可以点赞👍收藏⭐支持一下博主~😆


文章目录

  • 6 SpringMVC拦截器
    • 6.1 概念
      • 拦截器VS过滤器
        • 相似点
        • 不同点
        • 选择
    • 6.2 使用
      • 6.2.1 创建拦截器类
        • 实现接口
      • 6.2.2 注册拦截器
        • 默认拦截全部请求
        • 配置拦截路径
        • 配置不拦截路径
      • 6.2.3 执行顺序

6 SpringMVC拦截器

6.1 概念

在这里插入图片描述

拦截器VS过滤器

相似点

三要素相同

  • 拦截:必须先把请求拦住,才能执行后续操作;
  • 过滤:拦截器或过滤器存在的意义就是对请求进行统一处理;
  • 放行:对请求执行了必要操作后,放请求过去,让它访问原本想要访问的资源;

不同点

  • 工作平台不同
    • 过滤器工作在 Servlet 容器中
    • 拦截器工作在 SpringMVC 的基础上
  • 拦截的范围
    • 过滤器:能够拦截到的最大范围是整个 Web 应用
    • 拦截器:能够拦截到的最大范围是整个 SpringMVC 负责的请求
  • IOC 容器支持
    • 过滤器:想得到 IOC 容器需要调用专门的工具方法,是间接的
    • 拦截器:它自己就在 IOC 容器中,所以可以直接从 IOC 容器中装配组件,也就是可以直接得到 IOC 容器的支持

选择

功能需要如果用 SpringMVC 的拦截器能够实现,就不使用过滤器。

6.2 使用

6.2.1 创建拦截器类

实现接口

public class Process01Interceptor implements HandlerInterceptor {Logger logger = LoggerFactory.getLogger(this.getClass());// 在处理请求的目标 handler 方法前执行@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {logger.debug("Process01Interceptor preHandle方法");// 返回true:放行// 返回false:不放行return true;}// 在目标 handler 方法之后,渲染视图之前@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {logger.debug("Process01Interceptor postHandle方法");}// 渲染视图之后执行@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {logger.debug("Process01Interceptor afterCompletion方法");}
}

单个拦截器执行顺序:

  • preHandle()方法
  • 目标handler方法
  • postHandle()方法
  • 渲染视图
  • afterCompletion()方法

在较低版本的 SpringMVC 中,实现HandlerInterceptor接口需要把所有抽象方法都实现。但是又不是每个方法都需要使用,导致代码比较繁琐。

此时可以通过继承HandlerInterceptorAdapter类同样可以创建拦截器类。HandlerInterceptorAdapter类中已经给 HandlerInterceptor接口提供了默认实现,我们继承后不需要把每个方法都实现,只需要把有用的方法重写即可。

在 SpringMVC 较高版本(例如:5.3版本以上)中,HandlerInterceptor 接口已经借助JDK1.8新特性让每个抽象方法都给出了默认实现,所以HandlerInterceptorAdapter这个类被标记为过时。

6.2.2 注册拦截器

默认拦截全部请求

<!-- 注册拦截器 -->
<mvc:interceptors><!-- 直接通过内部 bean 配置的拦截器默认拦截全部请求(SpringMVC 范围内) --><bean class="com.atguigu.mvc.interceptor.Process01Interceptor"/>
</mvc:interceptors>

配置拦截路径

精确匹配:

<!-- 具体配置拦截器可以指定拦截的请求地址 -->
<mvc:interceptor><!-- 精确匹配 --><mvc:mapping path="/common/request/one"/><bean class="com.atguigu.mvc.interceptor.Process03Interceptor"/>
</mvc:interceptor>

匹配单层路径:

<mvc:interceptor><!-- /*匹配路径中的一层 --><mvc:mapping path="/common/request/*"/><bean class="com.atguigu.mvc.interceptor.Process04Interceptor"/>
</mvc:interceptor>

匹配多层路径:

<mvc:interceptor><!-- /**匹配路径中的多层 --><mvc:mapping path="/common/request/**"/><bean class="com.atguigu.mvc.interceptor.Process05Interceptor"/>
</mvc:interceptor>

配置不拦截路径

<mvc:interceptor><!-- /**匹配路径中的多层 --><mvc:mapping path="/common/request/**"/><!-- 使用 mvc:exclude-mapping 标签配置不拦截的地址 --><mvc:exclude-mapping path="/common/request/two/bbb"/><bean class="com.atguigu.mvc.interceptor.Process05Interceptor"/>
</mvc:interceptor>

6.2.3 执行顺序

  • preHandle()方法:SpringMVC 会把所有拦截器收集到一起,然后按照配置顺序调用各个preHandle() 方法;
  • 目标 handler 方法;
  • postHandle()方法:SpringMVC会把所有拦截器收集到一起,然后按照配置相反的顺序调用各个postHandle()方法;
  • 渲染视图;
  • afterCompletion()方法:SpringMVC 会把所有拦截器收集到一起,然后按照配置相反的顺序调用各个 afterCompletion() 方法;
http://www.yayakq.cn/news/110717/

相关文章:

  • 如何建设万网网站自己学习做网站6
  • 深度网网站建设wordpress 面包屑
  • 东莞常平火车站叫什么h5动画制作软件
  • 孝感市门户网站管理中心上海城隍庙好玩吗
  • 网站源码网址修改网站首页流程图
  • 个人博客网站需要备案吗wordpress 文章类型模板
  • 写作网站5妙不写就删除手机开发者选项在哪里关闭
  • python建设电子商务网站前端培训费用大概多少
  • 广 做网站蓝光电影下载沈阳妇科检查去哪个医院较好
  • 门户网站怎么做seowordpress本地建站教程
  • 青岛市医疗保险网站自己做的网站打不开怎么搞
  • 贵阳网站建设-中国互联室内设计课程
  • 高明网站建设公司凡科网登录下载
  • 深圳网站优化企业千图网免费素材
  • 利用虚拟主机建设企业网站实验报告重庆网站备案规定
  • 专业网站建设方案外贸网站做几种产品
  • 淘宝上做网站权重wordpress中文分享插件
  • 企业网站建设问题研究商业运营是做什么的
  • 出名的网站建设公司重庆装修网
  • 营销类网站 英文大同建设工程信息网
  • 长春建站服务wordpress调节字体大小
  • 网站的想法天津网站建设培训学校
  • 网络推广网站程序一级的vi设计公司
  • 小企业网站建设制作平台南通长城建设集团有限公司网站
  • 遂宁住房和城乡建设厅网站北京哪里做网站
  • 以营销型网站为主要营销方式的案例企业信用信息公示官网
  • 网站开发免责声明免费低代码管理系统开发
  • 网页显示站点不安全昆山专业简历制作网站
  • 网站建设讲解材料公司手机网站效果图
  • 内涵图网站源码网站开发过程的数据交互