说明:
(1)本篇博客合理性解释:
● 本篇博客介绍Spring MVC中一个高级组件:拦截器;
● 但是,本篇博客的主要目的只是【引入Interceptor拦截器】、【简单的走一遍拦截器的配置过程】;
● 有关拦截器的【实用技巧】和【具体细节】等深入的内容在后面会介绍;即,本篇博客仅仅是拦截器的一个入门;
(2)本篇博客主要内容:
● 拦截器(Interceptor)简介;
● 拦截器(Interceptor)开发流程概述;
● 拦截器(Interceptor)开发流程走了一遍,演示了最初级的使用;
● 介绍了HandlerInterceptor接口的三个方法:preHandle()、postHandle()、afterCompletion();
(3)如有需要:过滤器(filter)可以参考【(5)常用功能与过滤器、监听器、FreeMarker;】专栏中的内容;Spring AOP可以参考【(15)Spring基础:IoC;AOP;JDBC;】专栏中的内容;
目录
2.开发前准备:准备一个【interceptor工程】;(这部分不是本篇博客的重点,快速扫过去就行)
(1)第一步:在pom.xml中引入servlet-api依赖;
(2)第二步:新建一个实现了HandlerInterceptor接口的类;
(3)第三步:在applicationContext.xml中配置过滤地址;
一:拦截器简介;
说明:
(1)拦截器的作用:拦截url,对其进行前置/后置过滤;
(2)【Spring中的拦截器】和【J2EE中的过滤器】,其作用有点类似,都是拦截请求;但是二者底层的实现逻辑是不同的;
● 拦截器(Interceptor)是Spring MVC的标准组件;(Interceptor对象被创建后,是天然的运行在IoC容器中的;)
● 过滤器(Filter)是J2EE的标准组件,是J2EE的标准;过滤器(Filter)的具体实现,是由不同的第三方容器厂商实现的;( 比如,我们在【过滤器一:过滤器简介;创建第一个Filter;】中直接使用的过滤器,就是Tomcat这个第三方厂商,根据J2EE标准实现的;)
(3)我们已经知道,拦截器(Interceptor)的作用是拦截url,对其进行前置/后置处理;
● 我们很容易就能联想到Spring中的【AOP面向切面编程】;
● 其实,拦截器(Interceptor)的底层最基本的实现,就是依赖于Spring AOP理念;(【拦截器(Interceptor)的具体实现】和【AOP中的环绕通知】很相似;)
……………………………………………………
(注)如有需要,过滤器(Filter)的有关内容可以参考【(5)常用功能与过滤器、监听器、FreeMarker;】的内容;Spring AOP的有关内容可以参考【(15)Spring基础:IoC;AOP;JDBC;】;
二:拦截器(Interceptor)开发流程;
1. 拦截器(Interceptor)开发流程:简介;
说明:
(1)拦截器(Interceptor)底层依赖于【最原始的servlet-api,也就是J2EE的javx.servlet】;所以,首先需要引入javax.servlet依赖;(至于为什么要引入Servlet依赖,在【附加:Java简介(Java SE,Java EE,JDK等);【java.servlet.**】和【javax.**】简介;Eclipse和IDEA在使用servlet-api.jar时的区别;】和本篇博客的后续内容中会得到答案;)
(2)新建一个类,然后这个类要实现HandlerInterceptor接口;(这个接口的完整地址是org.springframework.web.servlet.HandlerInterceptor,可以看到,这个接口是Spring定义的)
(3)然后,在编好了拦截器类后,需要在applicationContext.xml中配置过滤地址;
2.开发前准备:准备一个【interceptor工程】;(这部分不是本篇博客的重点,快速扫过去就行)
(1)创建【interceptor】工程;
首先,创建一Maven WebApp项目;
这个过程可以参考【SpringMVC入门与数据绑定2:Spring MVC初体验二:使用IDEA创建【maven + WebApp】项目;】;啰嗦一下吧,其基本过程就是:
第一步:创建一Maven项目;
第二步:将工程设置为Web工程;
● 添加web功能;
● 三个设置项:【设置web.xml文件目录】、【设置web资源保存目录】、【设置artifact发布】;
第三步:给项目配置Tomcat;
● 配置一个本地的Tomcat服务器;
● 在Deployment中配置artifact发布;
● 设置一下Server中的端口号等内容;
……………………………………………………
然后,配置Spring MVC;
这个过程可以参考【SpringMVC入门与数据绑定3:Spring MVC初体验三:Spring MVC环境配置;(通过一个简单案例,走了一遍Spring MVC流程;)】,其基本过程就是:
第一步:在pom.xml中引入依赖;
第二步:在web.xml中配置DispatcherServlet;
第三步:创建并编写applicationContext.xml;
第四步:将新引入依赖添加到Tomcat发布中去;
…………………………………