当前位置: 代码迷 >> 综合 >> 第5章-springboot整合Filter
  详细解决方案

第5章-springboot整合Filter

热度:22   发布时间:2024-01-30 01:02:18.0

一、整合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;}
}

 

  相关解决方案