闽公网安备 35020302035485号
@Configuration
public class MyWebAppConfigurer extends WebMvcConfigurerAdapter {
/**
* 堆代码 duidaima.com
* 将自定义拦截器作为Bean写入配置
* @return
*/
@Bean
public SysInterceptor sysInterceptor() {
return new SysInterceptor();
}
/**
* 对拦截器注册
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
String[] patterns = new String[] {"/swagger-resources/**"};
registry.addInterceptor(sysInterceptor())
.addPathPatterns("/**")
.excludePathPatterns(patterns);
super.addInterceptors(registry);
}
}
拦截器:public class SysInterceptor implements HandlerInterceptor {
private static final Logger logger = LoggerFactory.getLogger(SysInterceptor.class);
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
//业务逻辑
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, Exception ex) throws Exception {
}
}
查询原因servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。
filter:filter是一个可以复用的代码片段,可以用来转换HTTP请求、响应和头信息。Filter不像Servlet,它不能产生一个请求或者响应,它只是修改对某一资源的请求,或者修改从某一的响应。