SpringMVC的HandlerInterceptor 与servlet的Filter
HandlerInterceptor与Filter的区别
HandlerInterceptor是SpringMVC提供的是供Spring容器管理的
实现方法:
实现HandlerInterceptor接口
在上述三个方法中
preHandle方法指代请求未进入Controller层 执行 只有当该方法的返回值为true时才会执行Controller层的业务逻辑
postHandle方法指代请求访问完成后所执行
afterComletion方法指代渲染完成前端页面所执行
配置需要在SpringMVC的dispatchServlet.xml中配置
上述配置中
<mvc:mapping path="/manage/**"/>代表拦截 /manage下的所有请求
<mvc:exclude-mapping path="/manage/user/login.do"/> 代表 /manage下的所有请求都被拦截除去 /user/login.do请求
<bean class="com.mmall.common.ManagerIntercept"/>代表 指定拦截的请求的类 其中所做的处理
Filter是供Servlet管理的
init()方法:初始化参数,在创建Filter时自动调用。当我们需要设置初始化参数的时候,可以写到该方法中。(只能执行一遍)
doFilter()方法:拦截到要执行的请求时,doFilter就会执行。这里面写我们对请求和响应的预处理。
destroy()方法:在销毁Filter时自动调用。
(有着急事先不写了 日后补上 20190312 薛某人留)