SpringMVC-拦截器

摘要:
拦截器概述Spring MVC框架中的拦截器用于预处理和后处理处理器。拦截器也是AOP的一种实现。如果要自定义拦截器,则需要实现HandlerInterceptor接口。用户定义的拦截器实现HandlerInterceptor接口1。preHandle方法是控制器方法执行之前的拦截方法。1.您可以使用请求或响应跳转到指定的页面。2.returntrue版本执行下一个拦截器。如果没有拦截器,请执行控制器中的方法--注册拦截器对象--˃多个拦截器的执行顺序

拦截器的概述

  1. SpringMVC框架中的拦截器用于对处理器进行预处理和后处理的技术。
  2. 可以定义拦截器链,连接器链就是将拦截器按着一定的顺序结成一条链,在访问被拦截的方法时,拦截器链中的拦截器会按着定义的顺序执行。
  3. 拦截器和过滤器的功能比较类似,有区别
    1. 过滤器是Servlet规范的一部分,任何框架都可以使用过滤器技术。
    2. 拦截器是SpringMVC框架独有的。
    3. 过滤器配置了/*,可以拦截任何资源。
    4. 拦截器只会对控制器中的方法进行拦截。
  4. 拦截器也是AOP思想的一种实现方式
  5. 想要自定义拦截器,需要实现HandlerInterceptor接口。

自定义拦截器

实现HandlerInterceptor接口
1.preHandle方法是controller方法执行前拦截的方法
1. 可以使用request或者response跳转到指定的页面
2. return true放行,执行下一个拦截器,如果没有拦截器,执行controller中的方法。
3. return false不放行,不会执行controller中的方法
2. postHandle是controller方法执行后执行的方法,在JSP视图执行前。
1. 可以使用request或者response跳转到指定的页面
2. 如果指定了跳转的页面,那么controller方法跳转的页面将不会显示。
3. afterCompletion方法是在JSP执行后执行
request或者response不能再跳转页面了

在springmvc.xml中配置拦截器类

<!-- 配置拦截器 -->
<mvc:interceptors>
    <mvc:interceptor>
    <!-- 哪些方法进行拦截 -->
    <mvc:mapping path="/user/*"/>
    <!-- 哪些方法不进行拦截
    <mvc:exclude-mapping path=""/>
    <!-- 注册拦截器对象 -->
    <bean  />
    </mvc:interceptor>
</mvc:interceptors>
  • 多个拦截器执行顺序
    SpringMVC-拦截器第1张

免责声明:文章转载自《SpringMVC-拦截器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Union链接查询Linux中杀不死的进程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SpringMVC 使用验证框架 Bean Validation(上)

SpringMVC 使用验证框架 Bean Validation(上) 对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证。 SpringMVC 自身对数据在服务端的校验(Hibernate Validator)有一个比较好的支持,它能将我们提交到服务端的数据按照我们事先的约定进行数...

springmvc中messageConverter用法

解决StringHttpMessageConverter乱码问题问题: 当我们将字符串对象通过springmvc传回浏览器时,因为StringHttpMessageConverter消息转换器中默认的解码集是ISO-8859-1;因为当浏览器接收时,是乱码的. 解决: 通过配置文件,可以将问题解决: <mvc:annotation-driven>...

springMVC

介绍 讲下SpringMvc的核心入口类是什么,Struts1,Struts2的分别是什么 SpringMvc的是DispatchServlet,Struts1的是ActionServlet,Struts2的是StrutsPrepareAndExecuteFilter 并发考点 SpringMvc的控制器是不是单例模式,如果是,有什么问题,怎么解决。是...

全注解方式构建SpringMVC项目

简述 SpringBoot对Spring的的使用做了全面的封装,使用SpringBoot大大加快了开发进程,但是如果不了解Spring的特性,使用SpringBoot时会有不少问题 目前网上流传使用IDEA比Eclipse效率更加高,在搭建项目时,也尝试使用IDEA,但是由于习惯问题,最终还是使用了Eclipse,以后也别再折腾了,专注于开发本身更加重要...

关于springMVC

一 mvc设计模式 MVC 全名是 Model View Controller,是 模型(model)-视图(view)-控制器(controller) 的缩写, 是⼀种⽤于设计创建 Web 应⽤程序表现层的模式。 MVC 中每个部分各司其职:Model(模型):模型包含业务模型和数据模型,数据模型⽤于封装数据,业务模型⽤于处理业务。View(视图): 通...

Spring MVC相关

配置文件说明 web.xml, 相当于一个java web项目的配置文件 applicationContext.xml, spring配置文件, mybatis连接mysql配置文件 sql-map-config-mysql.xml,mybatis配置文件 application.properties, 配置文件常量 web.xml Servlet相...