public class LogInterceptor implements HandlerInterceptor {
private final static Logger logger = LoggerFactory
.getLogger(OperationLogInterceptor.class);
/**
* Handler Method 过滤
该 可以获取到方法的信息
* org.springframework.web.method.HandlerMethod
*/
private static final String HANDLER_METHOD = "HandlerMethod";
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// true 继续下去
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// 后置处理器 可以获取 ModelAndView
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
if (HANDLER_METHOD.equals(handler.getClass().getSimpleName())) {
//TODO
logger.info("。。。。");
}
}
}
最基本的:拦截所有的controller请求
配置生效
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean class="package.xxx.OperationLogInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>