「Spring Boot」インターセプター(HandlerInterceptorAdapter)のサンプル
1.HandlerInterceptorAdapterの実装
@Component
public class AuthorInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(AuthorInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
logger.info("preHandle()メソッド");
System.out.println(request.getServletPath());
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
logger.info("postHandle()メソッド");
System.out.println(request.getRequestURI());
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
logger.info("afterCompletion()メソッド");
System.out.println(request.getServletPath());
}
}
@Component
public class AuthorInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(AuthorInterceptor.class);
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
logger.info("preHandle()メソッド");
System.out.println(request.getServletPath());
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
logger.info("postHandle()メソッド");
System.out.println(request.getRequestURI());
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
logger.info("afterCompletion()メソッド");
System.out.println(request.getServletPath());
}
}
@Component public class AuthorInterceptor extends HandlerInterceptorAdapter { private static final Logger logger = LoggerFactory.getLogger(AuthorInterceptor.class); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { logger.info("preHandle()メソッド"); System.out.println(request.getServletPath()); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { logger.info("postHandle()メソッド"); System.out.println(request.getRequestURI()); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { logger.info("afterCompletion()メソッド"); System.out.println(request.getServletPath()); } }
2.WebMvcConfigurerAdapterの設定
@Configuration
public class InterceptorAdapterConfig extends WebMvcConfigurerAdapter {
@Autowired
private AuthorInterceptor AuthorInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry)
{
//インターセプターの登録
registry.addInterceptor(AuthorInterceptor).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
@Configuration
public class InterceptorAdapterConfig extends WebMvcConfigurerAdapter {
@Autowired
private AuthorInterceptor AuthorInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry)
{
//インターセプターの登録
registry.addInterceptor(AuthorInterceptor).addPathPatterns("/**");
super.addInterceptors(registry);
}
}
@Configuration public class InterceptorAdapterConfig extends WebMvcConfigurerAdapter { @Autowired private AuthorInterceptor AuthorInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { //インターセプターの登録 registry.addInterceptor(AuthorInterceptor).addPathPatterns("/**"); super.addInterceptors(registry); } }
3.applicationContext.xmlの設定
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.arkgame.study.web.interceptor.AuthorInterceptor" />
</mvc:interceptor>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="com.arkgame.study.web.interceptor.AuthorInterceptor" />
</mvc:interceptor>
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.arkgame.study.web.interceptor.AuthorInterceptor" /> </mvc:interceptor>