En primer lugar, la primera
1. Código
@WebFilter(filterName="LoginCheckFilter",urlPatterns="*")
public class LoginCheckFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("filter");
HttpServletRequest httpRequest = (HttpServletRequest)request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setCharacterEncoding("UTF-8");
httpResponse.setContentType("application/json; charset=utf-8");
httpResponse.setHeader("Access-Control-Allow-Origin", "*");
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpResponse.setHeader("Access-Control-Allow-Methods", "*");
httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type,Authorization");
httpResponse.setHeader("Access-Control-Expose-Headers", "*");
chain.doFilter(httpRequest, httpResponse);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
2. carga (clase de arranque anterior más un comentario @ServletComponentScan)
@SpringBootApplication
@ComponentScan(basePackages = {"com.thread.threadtest.*"})
@ServletComponentScan
@EnableAsync
public class ThreadtestApplication {
public static void main(String[] args) {
SpringApplication.run(ThreadtestApplication.class, args);
}
}
3. Después de la salida, una interfaz de servicios de fondo para acceder a cualquiera de este filtro irá, y luego vamos a escribir esa frase en la salida del filtro.
En segundo lugar, el segundo camino
1. Código
public class LoginCheckFilter2 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
System.out.println("filter 22222");
chain.doFilter(request, response);
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
2. Configuración cargado por una clase
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean filterRegistration() {
FilterRegistrationBean reg = new FilterRegistrationBean();
reg.setFilter(new LoginCheckFilter2());
reg.addUrlPatterns("*");
return reg;
}
}
3. Lo anterior se puede lograr el mismo efecto
En tercer lugar, al final de la
¡¡¡Siempre mantén la fe!!!