专栏名称: java1234
java知识分享网 www.java1234.com
目录
相关文章推荐
保险一哥  ·  2024年度34省市区保险状元来了!你们公司 ... ·  5 天前  
一条  ·  一个大厂员工的夜生活,被全网点赞 ·  4 天前  
一条  ·  中国最霸气的桥,端午必去 ·  6 天前  
51好读  ›  专栏  ›  java1234

SpringMVC的拦截器和过滤器有什么区别?执行顺序?

java1234  · 公众号  ·  · 2025-05-31 00:00

正文

请到「今天看啥」查看全文


注解或者在配置文件中手动设置。

代码示例:

public class MyInterceptor implements HandlerInterceptor {    // 该方法将在请求到达Controller之前执行    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        System.out.println("Pre Handle");        return true;  // 返回true表示请求可以继续处理,返回false则终止请求。    }    // 该方法将在Controller方法执行后、视图渲染之前执行    @Override    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {        System.out.println("Post Handle");    }    // 该方法将在请求完成后执行(即响应发送到客户端之前)    @Override    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {        System.out.println("After Completion");    }}

配置拦截器:

<mvc:interceptors>    <mvc:interceptor>        <mvc:mapping path="/*"/>        <bean class="com.example.MyInterceptor"/>    mvc:interceptor>mvc:interceptors>

二、过滤器(Filter)

过滤器是Java EE规范的一部分,它属于Servlet容器的一部分,不仅仅限于SpringMVC。过滤器主要用于对请求和响应进行处理,通常用于日志记录、安全控制、数据压缩等操作。过滤器能够拦截请求,并在请求到达Servlet之前或响应返回之前进行处理。

特点:

  1. Servlet规范的一部分
    :过滤器是Servlet规范的一部分,独立于Spring框架,可以与任何Servlet容器一起使用。






请到「今天看啥」查看全文