SpringBoot(二):Web之Filter

一、添加Filter、Listen、Serlvet两方式

  • 代码注册经过ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean 得到控制。 
    也能够经过实现 ServletContextInitializer 接口直接注册。代码式实例

 

  • 在 SpringBootApplication 上使用@ServletComponentScan 注解后,Servlet、Filter、Listener 能够直接经过 @WebServlet、@WebFilter、@WebListener 注解自动注册,无需其余代码。

二、注解实现方式

  • MyFilter.java
@WebFilter(servletNames="myFilter",urlPatterns = "/*")
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 {
        if (servletRequest instanceof HttpServletRequest) {
            System.out.println(MessageFormat.format("请求路径url=>{0}", ((HttpServletRequest) servletRequest).getRequestURI()));
        }
        filterChain.doFilter(servletRequest, servletResponse);

    }

    @Override
    public void destroy() {

    }
}
  • QuickStartApplication.java
@ServletComponentScan
@SpringBootApplication
public class QuickStartApplication {

	public static void main(String[] args) {
		SpringApplication.run(QuickStartApplication.class, args);
	}
}

   

http://localhost:8080/getUser.do,后台日志输出html

请求路径url=>/getUser.do
name=>小王
 java

相关文章
相关标签/搜索