拦截器是 AOP 编程思想的典型应用

详述 Spring MVC 框架中拦截器 Interceptor 的使用方法​blog.csdn.net

实现

1:创建一个controller类

package 

2:创建一个类实现HandlerInterceptor接口作为拦截器

package 

  • preHandle()方法在“处理方法”之前执行
  • postHandle()方法在“处理方法”之后执行
  • afterCompletion()方法在“Dispatcherservlet ”结束之后执行

3:在spring配置文件中对拦截器进行配置

<?xml version="1.0" encoding="UTF-8"?>

  • 注意,使用Spring MVC的拦截器需要导入头文件:xmlns:mvc="http://www.springframework.org/schema/mvc";http://www.springframework.org/schema/mvc; https://www.springframework.org/schema/mvc/spring-mvc.xsd
  • <mvc:mappingpath="/**"/>中的“/**”表示:根路径及根路径下的所有子路径都添加了这个拦截器(实际范围看下方)

关于拦截器的作用范围

以上面为例,虽然在spring配置文件中配置了"cn.sxt.interceptor.MyInterceptor"(这个拦截器的)作用范围为<mvc:mappingpath="/**"/>(根路径下即其所有子路径),但是并不是所有链接的申请都可以被这个拦截器拦截。

因为这个拦截器的真是范围还收到web.xml与spring配置文件中影响。

还是以上面为例,其web.xml为:

<servlet>

可以看到,其作用范围设置为<url-pattern>/</url-pattern>(所有),但在随后的spring配置文件中通过“可使用包标签(暂且这么称呼)”对其进行了限制

<context:component-scan 

而拦截器也受着两个配置文件的限制,所以,上面例子中的拦截器其真是范围应该是:通往这两个包(cn.sxt.controller、cn.sxt.servlet)的所有链接

PS:“猜想”:所有spring配置文件中的组件的作用范围都受“可使用包标签(暂且这么称呼)”(dispatcherservlet)的限制,例如视图渲染器与拦截器等

例:设置登录操作的拦截器

jsp中的url拼接的参数传递到controller乱码_Spring MVC中的拦截器相关推荐

  1. jsp中的url拼接的参数传递到controller乱码_猿蜕变系列5——一文搞懂Controller的花式编写...

    看过之前的执行流程,相信你对springMVC有了一定的认识.今天我们继续来学习springMVC相关的核心知识,帮助你快速起飞,完成蜕变. 每月底工厂君会根据后台记录筛选转发文章前三位的朋友,给与奖 ...

  2. ios中设置URL Scheme及如何跳转到其他APP中

    URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便 ...

  3. java调用视图如何传参_Spring MVC中 视图 向 控制器 传参(接收方式)

    1.方法一(通过HttpServletRequest方式接收) 1.1.添加servlet的jar包 javax.servlet javax.servlet-api 3.1.0 provided 1. ...

  4. 艾伟_转载:VS 2010 和 .NET 4.0 系列之《在ASP.NET 4 Web Forms中实现URL导向》篇

    本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 ...

  5. oracle数据存储过程 中的循环 for 拼接字符串,oracle存储过程中使用字符串拼接

    1.使用拼接符号"||" v_sql := 'SELECT * FROM UserInfo WHERE ISDELETED = 0 AND ACCOUNT =''' || vAcc ...

  6. Spring MVC中的拦截器/过滤器HandlerInterceptorAdapter的使用

    转载自 https://www.cnblogs.com/EasonJim/p/7704740.html 一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的 而在Spring中,基于Filt ...

  7. (转)spring中的拦截器(HandlerInterceptor+MethodInterceptor)

    1.  过滤器跟拦截器的区别 在说拦截器之前,不得不说一下过滤器,有时候往往被这两个词搞的头大. 其实我们最先接触的就是过滤器,还记得web.xml中配置的<filter>吗~ 你应该知道 ...

  8. (转)SpringMVC学习(十二)——SpringMVC中的拦截器

    http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter, ...

  9. 【SpringMVC学习11】SpringMVC中的拦截器

    Springmvc的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下springmvc中拦截器是如何定义的,以及测试拦截器的执行情况和使用 ...

最新文章

  1. 清华集训2014 day2 task1 简单回路
  2. LeetCode Construct the Rectangle
  3. 面向任务的 Git 学习法
  4. 云炬Android开发报错处理教程 解决Android Studio kotlin等依赖下载慢,下载超时失败的问题
  5. Python果然不得了,数独都能轻松解决?python秒解数独了解下?
  6. VTK:Rendering之ColoredSphere
  7. Python 程序员经常犯的 10 个错误
  8. Python之Time模块
  9. 拦截器,利用拦截器进行登陆权限控制
  10. discuz论坛添加水印
  11. matlab逻辑电路图,基于.matlab的数字逻辑电路仿真.doc
  12. 无人机运动规划4:ego-swarm无人机群运动规划
  13. 霍夫曼树和霍夫曼编码原理
  14. DEM、DTM、DSM、DOM的区别
  15. Toad oracle
  16. java未来三年的工作计划,未来三年的工作计划
  17. Spark大数据分析案例之平均心率检测[2021]
  18. win10服务器密码怎么修改,教你windows10密码更改
  19. 第5组UI 让你的界面酷炫到底-ViewAniMator之ViewSwitcher、ImageSwitcher(图像切换器)、TextSwitcher(文本切换器)、ViewFlipper
  20. 被孙杨遮挡LOGO的安踏,到底做错了什么?

热门文章

  1. dell屏幕亮度调节不了_?戴尔XPS13 7390笔电测评:10代酷睿加持,屏幕/散热/续航升级...
  2. python根据字典绘制条形图_使用 Bokeh 为你的 Python 绘图添加交互性 | Linux 中国
  3. vue cli脚手架详解_vue-cli脚手架搭建vue项目搭建
  4. C++新特性探究(十八):智能指针
  5. signature=172bb3bb7ef43cff1707b389c78d27cb,Signatures? of suicide
  6. python sql查询返回记录_干货!Python与MySQL数据库的交互实战
  7. html5 删除llocalstorage变量,删除存储在浏览器中的 Local Storage 数据《 HTML5:Web 存储 》...
  8. linux c 串口可读可写,串口编程可写入不能读取 怎么解决
  9. vs2015移植linux编译,windows平台移植(原linux项目)时,用vs2015开发,碰到的问题及处理方案记录...
  10. 服务器和linux知识,每天学知识:Windows和Linux服务器差异