主要内容
整合Filter
一、整合Filter
1.1 编写Filter
通过注解扫描完成Filter组件的注册
/**
*SpringBoot整合Filter 方式一
*<filter>
* <filter-name>FirstFilter</filter-name>
* <filter-class>com.bjsxt.filter.FirstFilter</filter-class>
*</filter>
*<filter-mapping>
* <filter-name>FirstFilter</filter-name>
* <url-pattern>/first</url-pattern>
*</filter-mapping>
*/
@WebFilter(filterName="FirstFilter",urlPatterns = "/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() {
}
}
1.2 编写SpringBoot启动类
注意:启动器存放的位置,启动器可以和servlet位于同一个包下,或者位于servlet的上一级包中,但是不能放到servlet的平级以及子包下。
//springboot整合Servlet方式一
@SpringBootApplication
//在springboot启动时会扫描@WebServlet,并将该类实例化
@ServletComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
二、通过完成Filter组件的祖册
2.1 编写Filter
//Spring整合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() {
}
}
2.1 编写springboot启动类
//springboot整合servlet方式二
//springboot整合filter方式二
@SpringBootApplication
public class App {
public static void main(String []args){
SpringApplication.run(App.class,args);
}
/**
* 注册Servlet
* @return
*/
@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[]{"*.do","*.jsp"});
bean.addUrlPatterns("/second");
return bean;
}
}
SpringBoot入门项目地址下载: GitHub