SpringMVC拦截器运行原理及配置详解

 更新时间:2020年08月21日 09:33:28   作者:jock_javaEE  
这篇文章主要介绍了SpringMVC拦截器运行原理及配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

过滤器与拦截器的区别:

过滤器在 url-pattern 中配置了/*之后,可以对所有要访问的资源拦截。

拦截器它是只会拦截访问的controller中的方法,如果访问的是 jsp,html,css,image 或者 js 是不会进行拦 截的

拦截器的处理方案:

1:编写拦截器类

自定义拦截器

 public class MyInterceptor implements HandlerInterceptor {

/**
 * 预处理方法:controller方法执行前
 *return true 放行,执行下一个拦截器,如果没有,就执行controller中的方法
 *return: false 不放行
 * @param request
 * @param response
 * @param handler
 * @return
 * @throws Exception
 */
@Override
public boolean preHandle(HttpServletRequest request,
             HttpServletResponse response,
             Object handler) throws Exception {
  System.out.println("执行前......testInterceptor....");
  return true;
}

/**
 * 后处理方法,controller方法执行后,success.jsp执行之前
 *
 *
 * @param request
 * @param response
 * @param handler
 * @param modelAndView
 * @throws Exception
 */
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
  System.out.println("执行后......testInterceptor....");
}


/**
 *
 *success.jsp页面执行后,该方法会执行
 *
 *
 * @param request
 * @param response
 * @param handler
 * @param ex
 * @throws Exception
 */
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
  System.out.println("success.jsp执行后...");
   }
 }

2:在springmvc.xml中配置自定义拦截器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot环境属性占位符解析及类型转换详解

    Spring Boot环境属性占位符解析及类型转换详解

    这篇文章主要给大家介绍了关于Spring Boot环境属性占位符解析及类型转换的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • Java编程之文件读写实例详解

    Java编程之文件读写实例详解

    这篇文章主要介绍了Java编程之文件读写的方法,结合实例形式较为详细的分析了Java文件读写所涉及的类及相应的操作技巧,需要的朋友可以参考下
    2015-12-12
  • Maven项目执行生命周期相关操作时出现错误:does not match a valid id pattern问题

    Maven项目执行生命周期相关操作时出现错误:does not match a 

    当pom文件中的gav标签格式错误,如出现中文或空格,会导致与有效的id模式不匹配错误,gav标签应仅包含数字、字母和下划线,解决方法是修改标签中的中文为英文,删除多余空格,并刷新pom文件,例如,将中文"测试"改为英文"test"
    2024-09-09
  • Java并发编程之线程之间的共享和协作

    Java并发编程之线程之间的共享和协作

    这篇文章主要介绍了Java并发编程之线程之间的共享和协作,文中有非常详细的代码示例,对正在学习java的小伙伴们有一定的帮助,需要的朋友可以参考下
    2021-04-04
  • 解决idea2020 maven无法自动导包的问题

    解决idea2020 maven无法自动导包的问题

    这篇文章主要介绍了解决idea2020 maven无法自动导包的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Spring很常用的@Conditional注解的使用场景和源码解析

    Spring很常用的@Conditional注解的使用场景和源码解析

    今天要分享的是Spring的注解@Conditional,@Conditional是一个条件注解,它的作用是判断Bean是否满足条件,本文详细介绍了@Conditional注解的使用场景和源码,需要的朋友可以参考一下
    2023-04-04
  • C++ 程序流程结构详解

    C++ 程序流程结构详解

    这篇文章主要介绍了C++程序的程序流程结构以及关系和逻辑运算符讲解,是C++入门学习中的基础知识,需要的朋友可以参考下
    2021-09-09
  • rocketmq消费负载均衡--push消费详解

    rocketmq消费负载均衡--push消费详解

    这篇文章主要介绍了rocketmq消费负载均衡--push消费详解,本文介绍了DefaultMQPushConsumerImpl消费者,客户端负载均衡相关知识点。,需要的朋友可以参考下
    2019-06-06
  • 如何用SpringBoot 进行测试

    如何用SpringBoot 进行测试

    这篇文章主要介绍了如何用SpringBoot 进行测试,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • 使用WebUploader实现上传文件功能(一)

    使用WebUploader实现上传文件功能(一)

    这篇文章主要为大家详细介绍了使用WebUploader实现上传文件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01

最新评论