SpringMVC框架中的拦截器

目录

1. 拦截器接口的介绍

 2. 拦截器接口中方法的详细介绍

3. 配置拦截器的步骤

4. 多个拦截器的的执行情况

5.  拦截器与过滤器的区别


1. 拦截器接口的介绍

 2. 拦截器接口中方法的详细介绍

public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("111-------preHandle()方法执行了");
//        request.getRequestDispatcher("/hi.jsp").forward(request,response);
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("111-------postHandle()方法执行了");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("111-------afterCompletion()方法执行了");
    }
}

 下面是手写每个方法的注释:

 注意:

若是preHandle(...)方法的返回值为false,那么postHandler(...)和afterHandler(...)方法和@Controller类中的方法都不会执行。

3. 配置拦截器的步骤

 注意:

访问webapp文件夹下面的页面,如index.jsp页面,是不经过DispatcherServelet的,而拦截器的工作是拦截能够被DispatcherServlet接收的页面,因此,拦截器是不会拦截jsp页面。

4. 多个拦截器的的执行情况

5.  拦截器与过滤器的区别

注意:

拦截器的功能是大于过滤器的功能的,只要是过滤器能做的,拦截器都能做。

猜你喜欢

转载自blog.csdn.net/weixin_44362089/article/details/127833093