まず、フィルタの設定クラスを作成します。
導入された## ...一部省略パケット
@Configuration パブリック クラスに、FilterConfig { @SuppressWarnings({ "rawtypes"、 "未チェック" }) @Bean 公共FilterRegistrationBean registFilter(){ FilterRegistrationBean登録 = 新しいFilterRegistrationBean()。 registration.setFilter(この.SzlDemoFiler()); registration.addUrlPatterns( "/デモ/ *" ); registration.setName( "JimmyShan" ); registration.setOrder( 1 )。 戻り値の登録; } @Bean 公衆フィルターSzlDemoFilter(){ 戻り 新しい)(SzlDemoFilterします。 } }
その後、Filterインタフェースを実装し、当社のカスタムクラス:
##引入的包部分省略...
パブリック クラス SzlDemoFilterが実装フィルタ{ 民間 最終 静的ロガーログ= LoggerFactory.getLogger(SzlDemoFilter。クラス)。 // @Autowired // プライベートDemoService demoService。 @Override 公共 ボイドのdoFilter(のServletRequest要求、ServletResponseを応答、れるFilterChain鎖)スローにIOException、ServletExceptionがを{ 長い =開始にSystem.currentTimeMillis(); HttpServletRequestのREQ = (HttpServletRequestの)要求。 HttpServletResponseのRESP =(HttpServletResponseの)応答。 文字列methodNameの = req.getMethod()。 log.info( "リクエスト方法は:" + methodNameの)。 文字列URI = req.getRequestURI()。 log.info( "リクエストURIは次のとおりです。" + URI)。 chain.doFilter(リクエスト、レスポンス)。 log.info( "フィルタを実行=" +(のSystem.currentTimeMillis() -開始)+ "MS" )。 } }