SpringMVC拦截器(Interceptor)
2017-08-26 11:00
155 查看
自定义拦截器
Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必 须实现HandlerInterceptor接口
1.自定义实现类实现 HandlerInterceptor接口
– preHandle():该方法在目标方法之前被调用,
若返回值为true,则继续调用后续的拦截器和目标方法
若返回值为false,则不会再调用后续的拦截器和目标方法
可以考虑做权限,日志或者事务等!
– postHandle():调用目标方法之后,但渲染视图之前被调用
可以对请求域中的属性或者视图做出修改!
– afterCompletion():渲染视图之后被调用,
可以在该方法中进行一些资源清理的操作。
方法的执行顺序:
preHandle
Controller类中的执行方法
postHandle
afterCompletion
2.在springmvc配置文件中配置相对应的拦截器
Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必 须实现HandlerInterceptor接口
1.自定义实现类实现 HandlerInterceptor接口
public class Interceptor implements HandlerInterceptor{ @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, java.lang.Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub System.out.println("afterCompletion"); } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, java.lang.Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub System.out.println("postHandle"); } @Override public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1, java.lang.Object arg2) throws Exception { // TODO Auto-generated method stub System.out.println("preHandle"); return true; } }
– preHandle():该方法在目标方法之前被调用,
若返回值为true,则继续调用后续的拦截器和目标方法
若返回值为false,则不会再调用后续的拦截器和目标方法
可以考虑做权限,日志或者事务等!
– postHandle():调用目标方法之后,但渲染视图之前被调用
可以对请求域中的属性或者视图做出修改!
– afterCompletion():渲染视图之后被调用,
可以在该方法中进行一些资源清理的操作。
方法的执行顺序:
preHandle
Controller类中的执行方法
postHandle
afterCompletion
2.在springmvc配置文件中配置相对应的拦截器
<mvc:interceptors> <!--配置自定义拦截器 ,所有的路径都拦截 --> <bean class="com.neuedu.springmvc.filter.MyFilter"></bean> </mvc:interceptors> 关于拦截器的配置: <mvc:interceptors> <!--配置自定义拦截器 ,所有的路径都拦截 --> <bean class="com.neuedu.springmvc.filter.MyFilter"></bean> <!-- 关于拦截器的配置问题 ,可以通过<mvc:interceptor>来配置使用哪个拦截器来【不】拦截的路径--> <mvc:interceptor> <!-- 用<mvc:mapping>标签指定要拦截的路径 --> <mvc:mapping path="/employ"/> <!-- 指定使用哪个拦截器进行拦截 --> <bean class="com.neuedu.springmvc.filter.SecondFilter"></bean> </mvc:interceptor> </mvc:interceptors>
相关文章推荐
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)详解
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- Java过滤器(Filter)与SpringMVC拦截器(Interceptor)之间的关系与区别
- 在SpringMVC中使用拦截器(interceptor)拦截CSRF***
- java 过滤器(Filter)与springMVC 拦截器(interceptor)的实现案例
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- SpringMVC拦截器Interceptor
- Springmvc Interceptor 拦截器
- springMVC拦截器 interceptor!
- Springmvc第三讲学习笔记,拦截器Interceptor的使用
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- springmvc之interceptor(拦截器)
- SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
- SpringMvc 拦截器 Interceptor的基础知识
- SpringMVC 拦截器Interceptor的使用
- springmvc拦截器Interceptor实例
- springmvc 拦截器interceptor
- SpringMVC拦截器(包括自定以拦截器--实现HandlerInterceptorAdapter)(资源和权限管理)
- SpringMVC 中的Interceptor 拦截器