1:創(chuàng)建攔截器類仗岖,實(shí)現(xiàn)HandlerInterceptor接口
package com.duck.interceptor;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DuckTestInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println(this.getClass().getName() + "<------>preHandle");
return true;
}
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println(this.getClass().getName() + "<------>postHandle");
}
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println(this.getClass().getName() + "<------>afterCompletion");
}
}
2:創(chuàng)建java類,繼承WebMvcConfigurerAdapter览妖,重寫addInterceptors方法
實(shí)例化攔截器類并將其添加到攔截器鏈中轧拄。
package com.duck.interceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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 InterceptorRegister extends WebMvcConfigurerAdapter{
private static final Logger logger = LoggerFactory.getLogger(InterceptorRegister.class);
/*
* 添加spring中的攔截器
*/
@Override
public void addInterceptors(InterceptorRegistry registry){
registry.addInterceptor(new DuckTestInterceptor()).addPathPatterns("/freemarker/**");
super.addInterceptors(registry);
}
}
3:訪問(wèn)http://localhost:8080/freemarker可見(jiàn)日志,后臺(tái)已經(jīng)攔截到