一、整合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 {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("进入Filter");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("离开Filter");
}
@Override
public 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 {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("进入Filter");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("离开Filter");
}
@Override
public void destroy() {
}
}
编写启动类
/**
* Springboot整合Filter方式二
*/
@SpringBootApplication
public class App4 {
public static void main(String[] args) {
SpringApplication.run(App4.class,args);
}
@Bean
public ServletRegistrationBean getServletRegistrationBean(){
ServletRegistrationBean bean = new ServletRegistrationBean(new SecondServlet());
bean.addUrlMappings("/second");
return bean;
}
/**
* 注册Filter
*/
@Bean
public FilterRegistrationBean getFilterRegistrationBean(){
FilterRegistrationBean bean = new FilterRegistrationBean(new SecondFilter());
bean.addUrlPatterns(new String[]{"*.html","*.jsp","/second"});
return bean;
}
}