package com.terra.proxy.filter; import com.terra.proxy.service.Impl.LogServiceImpl; import com.terra.proxy.service.Impl.ServerRegisterServiceImpl; import com.terra.proxy.util.BlackUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureOrder; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import javax.servlet.*; import javax.servlet.http.HttpServletRequest; import java.io.IOException; public class ServletFilter implements Filter { @Autowired private ServerRegisterServiceImpl service; @Autowired private LogServiceImpl logService; @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request=(HttpServletRequest) servletRequest; String uri = request.getRequestURI(); if( uri.endsWith("css")|| uri.endsWith("html")|| uri.endsWith("js")|| BlackUtils.blackInterceptor(request,logService,service)){ filterChain.doFilter(servletRequest,servletResponse); } } @Override public void destroy() { // TODO } @Override public void init(FilterConfig filterConfig) throws ServletException { WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(filterConfig.getServletContext()); service = wac.getBean(ServerRegisterServiceImpl.class); logService=wac.getBean(LogServiceImpl.class); } }