package com.itheima.servletComponent; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import org.springframework.stereotype.Component; @Component public class MyFilter 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("hello MyFilter"); filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { } }
package com.itheima.config; import java.util.Arrays; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.itheima.servletComponent.MyFilter; import com.itheima.servletComponent.MyServlet; @Configuration public class ServletConfig { // 注册Servlet组件 @Bean public ServletRegistrationBean<MyServlet> getServlet(MyServlet myServlet) { ServletRegistrationBean<MyServlet> registrationBean = new ServletRegistrationBean<MyServlet>(myServlet, "/myServlet"); return registrationBean; } // 注册Filter组件 @Bean public FilterRegistrationBean<MyFilter> getFilter(MyFilter filter) { FilterRegistrationBean<MyFilter> registrationBean = new FilterRegistrationBean<MyFilter>(filter); registrationBean.setUrlPatterns(Arrays.asList("/toLoginPage", "/myFilter")); return registrationBean; } }