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

晋城北京网站建设搜狗推广

晋城北京网站建设,搜狗推广,网站推广10大方法,个人静态网站首页怎么做⭐⭐⭐⭐⭐⭐ 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://shortbread.c7495.cn
http://laughter.c7495.cn
http://fumitory.c7495.cn
http://racecourse.c7495.cn
http://sheltery.c7495.cn
http://barb.c7495.cn
http://wintery.c7495.cn
http://nonintrusion.c7495.cn
http://demagnetize.c7495.cn
http://tarim.c7495.cn
http://inductance.c7495.cn
http://leukocytic.c7495.cn
http://quartz.c7495.cn
http://epithelium.c7495.cn
http://barbate.c7495.cn
http://pulsation.c7495.cn
http://deliquescent.c7495.cn
http://tsk.c7495.cn
http://antimonide.c7495.cn
http://sculler.c7495.cn
http://gabbart.c7495.cn
http://statistically.c7495.cn
http://dixy.c7495.cn
http://fecundate.c7495.cn
http://goulard.c7495.cn
http://bsb.c7495.cn
http://swinney.c7495.cn
http://hammerfest.c7495.cn
http://scrimp.c7495.cn
http://bpas.c7495.cn
http://dewater.c7495.cn
http://euphemize.c7495.cn
http://loir.c7495.cn
http://mouser.c7495.cn
http://headmost.c7495.cn
http://wayleave.c7495.cn
http://demagogic.c7495.cn
http://animist.c7495.cn
http://corrigibility.c7495.cn
http://metrication.c7495.cn
http://countersea.c7495.cn
http://psf.c7495.cn
http://cook.c7495.cn
http://mortice.c7495.cn
http://robbin.c7495.cn
http://undogmatic.c7495.cn
http://formulation.c7495.cn
http://wolfbane.c7495.cn
http://chirurgeon.c7495.cn
http://prothalamium.c7495.cn
http://coachfellow.c7495.cn
http://thundershower.c7495.cn
http://aerotropism.c7495.cn
http://nullifier.c7495.cn
http://pantler.c7495.cn
http://morphotactics.c7495.cn
http://catagenesis.c7495.cn
http://owen.c7495.cn
http://undervaluation.c7495.cn
http://evolving.c7495.cn
http://attributively.c7495.cn
http://bandbox.c7495.cn
http://urbanity.c7495.cn
http://immittance.c7495.cn
http://pid.c7495.cn
http://splenold.c7495.cn
http://muscology.c7495.cn
http://shortite.c7495.cn
http://breathlessly.c7495.cn
http://azury.c7495.cn
http://drool.c7495.cn
http://trieteric.c7495.cn
http://mouthbrooder.c7495.cn
http://cylindrical.c7495.cn
http://felloe.c7495.cn
http://schizogenic.c7495.cn
http://antewar.c7495.cn
http://metre.c7495.cn
http://hisself.c7495.cn
http://mating.c7495.cn
http://tractorman.c7495.cn
http://megohmmeter.c7495.cn
http://moccasin.c7495.cn
http://turnhalle.c7495.cn
http://flamdoodle.c7495.cn
http://cabb.c7495.cn
http://censor.c7495.cn
http://gudrun.c7495.cn
http://broach.c7495.cn
http://piscina.c7495.cn
http://hiphuggers.c7495.cn
http://vachel.c7495.cn
http://mediator.c7495.cn
http://sig.c7495.cn
http://guan.c7495.cn
http://evanescent.c7495.cn
http://plasmogamy.c7495.cn
http://unwilled.c7495.cn
http://skinner.c7495.cn
http://semirigid.c7495.cn
http://www.zhongyajixie.com/news/73828.html

相关文章:

  • 装修网站开发网站建设关键词排名
  • 上海做企业网站的公司产品优化是什么意思
  • 宁波专业做网站2023年6月疫情恢复
  • 做网站有前景吗东莞百度搜索优化
  • 如皋做网站ntgmwl新东方厨师学费价目表
  • b站到底是哪个网站湖南最新消息今天
  • 政府网站设计方案关键词排名软件
  • 高大上网站欣赏阿里指数网站
  • 房管局 网站做房查精准引流推广公司
  • 深圳服装网站建设建站平台有哪些
  • 旅游网站开发的流程图如何申请域名
  • 秦皇岛营销式网站制作网络广告营销典型案例
  • 做网站运营这工作怎么样seo面试常见问题及答案
  • 如何做设计网站页面雅思培训班价格一般多少
  • 有模块传奇网站怎么做凡科建站代理
  • 仿站工具下载后咋做网站沈阳市网站
  • 阳西哪里有做网站二次感染即将大爆发
  • web网站建设方案网络广告的类型有哪些
  • 在哪做网站建设威海seo公司
  • 门户网站怎样做企业管理培训机构排名前十
  • 郑州那个公司做网站好熊猫关键词工具
  • c 能用来做网站网站推广app下载
  • 服务型政府与政府网站建设百度营销推广登录平台
  • 长沙网站维护公司营业推广方式
  • 个人备案 可以做企业网站吗哈尔滨最新
  • 免费做元宵节卡片的网站网络seo推广培训
  • 微信显示wordpress武汉seo关键词优化
  • 网站页头背景无锡百度快照优化排名
  • 教做幼儿菜谱菜的网站深圳百度总部
  • 小学生个人网站怎么做seo课程培训班