SpringBoot快速入门第二章,整合Filter (小白都能看得懂)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liushuai52013/article/details/87910422

主要内容

整合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

猜你喜欢

转载自blog.csdn.net/liushuai52013/article/details/87910422