实现这种功能方法有不少,先后端均可以实现。本文将从后端(java)实现此功能。大概思路以下:java
拦截器注入service为空,可进行拦截器配置:spring
//spring boot 拦截器配置
@Configuration
public class ServletContextConfig extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(loginInterceptor())
.excludePathPatterns("/error", "/test/error") // 排除拦截
.addPathPatterns("/**"); //对全路径请求进行拦截
super.addInterceptors(registry);
}
// 处理业务的类
@Bean
public LoginInterceptor loginInterceptor(){
return new LoginInterceptor();
}
}
public class LoginInterceptor implements HandlerInterceptor {
private static final Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
@Autowired
private XXXService xxxService;// 此时Service会注入成功
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
// 业务处理
return true;
}
复制代码