学習Spring MVCのインターセプタ

1はじめに

春のWeb MVCフレームワークが構築された元のWebサーブレットAPIに基づいています。

2インターセプター

2.1定義

インターセプト機構springmvcフレームワーク

2.2

二段階2.2.1

  1. HandlerInterceptorインタフェースを実装します
  2. 登録(XMLまたは注釈)
2.2.2 HandlerInterceptorインタフェース

uWlpI1.png

  1. HandlerInterceptorインタフェースを実装します
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class InterceptorTest implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle");
        return true; // 只有返回true才会继续向下执行,返回false取消当前请求
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle");
    }

    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion");
    }
}
  1. 登録
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

/**
 * 注册拦截器(扫描到拦截器)
 */
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new InterceptorTest()).addPathPatterns("/**");
        super.addInterceptors(registry);
    }
}
  1. 利用シナリオ

インターセプタは、ドアのポストに似要求、前と後のデータを傍受することができ、ドアのポストは、一般的に迎撃のために、アイデンティティ機能をチェックする必要があり、インターセプタは要求を確認することができるかどうか、パーミッションのチェック機能を持っている、あなたは内部のチェックや他のトークンができます。

パフォーマンステスト。時間の計算は、インタフェース要求のパフォーマンスの前と後に検出することができます。

ジャーナリング。インターセプト要求データ記録リクエストパラメータ。

おすすめ

転載: www.cnblogs.com/chenzhuantou/p/11665447.html