一、整合Filter
1.通过注解扫描完成Filter组件注册
编写Filter
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;/*** Springboot整合Filter方式一* <filter>* <filter-name>FirstFilter</filter-name>* <filter-class>com.sugar.filter.FirstFilter</filter-class>\* </filter>* <filter-mapping>* <filter-name>FirstFilter</filter-name>* <url-Pattern>/hello</url-Pattern>* </filter-mapping>*/
@WebFilter(filterName="FirstFilter",urlPatterns={"*.html","*.jsp","/first"})
public class FirstFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("进入Filter");filterChain.doFilter(servletRequest,servletResponse);System.out.println("离开Filter");}@Overridepublic void destroy() {}
}
编写启动类
/*** Springboot整合Filter方式一*/
@SpringBootApplication
@ServletComponentScan
public class App3 {public static void main(String[] args) {SpringApplication.run(App3.class,args);}}
2.通过方法完成Filter组件的注册
编写filter
import javax.servlet.*;
import java.io.IOException;/*** springboot整合filter方式二*/
public class SecondFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("进入Filter");filterChain.doFilter(servletRequest,servletResponse);System.out.println("离开Filter");}@Overridepublic void destroy() {}
}
编写启动类
/*** Springboot整合Filter方式二*/
@SpringBootApplication
public class App4 {public static void main(String[] args) {SpringApplication.run(App4.class,args);}@Beanpublic ServletRegistrationBean getServletRegistrationBean(){ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());bean.addUrlMappings("/second");return bean;}/*** 注册Filter*/@Beanpublic FilterRegistrationBean getFilterRegistrationBean(){FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());bean.addUrlPatterns(new String[]{"*.html","*.jsp","/second"});return bean;}
}