过滤器和拦截器

过滤器

1.运行原理

当客户端向服务器端发送一个请求时,如果有对应的过滤器进行拦截,过滤器可以改变请求的内容、或者重新设置请求协议的相关信息等,然后再将请求发送给服务器端的Servlet进行处理。

2. 自定义过滤器实现

2.1 首先创建一个Filter的java类,使其实现于接口Filter
过滤器和拦截器
2.2 重写Filter类实现的方法
过滤器和拦截器
2.3 在web.xml中配置filter过滤器和拦截器
2.4启动项目并测试

拦截器

1.概念

java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了一种可以提取Action中可重用部分代码的方式。在AOP中,拦截器用于在某个方法或者字段被访问之前,进行拦截

2.自定义拦截器实现

2.1 首先创建一个Interceptor的java类,使其实现于接口HandlerInterceptor
过滤器和拦截器
2.2 重写Interceptor类实现的方法
过滤器和拦截器
2.3在spring-mvc.xml配置中配置拦截器
过滤器和拦截器
2.4启动项目并测试

过滤器和拦截器的区别

1.拦截器(interceptor)只对action请求起作用,而过滤器(filter)则可以对几乎所有的请求起作用。
2.过滤器是在请求进入容器(Tomcat)之后,但是请求进入Servlet之前。请求结束返回时也是,是在Servlet处理完之后,返回给前端之前