springboot之如何使用Filter

在springboot中使用servlet的话,用servlet3.0比较简单

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

然后创建一个Filter,只要在类上加@WebFilter(filterName = "oneFilter",urlPatterns = "/*")注解就代表这是Filter不用在web.xml中配置Filter了,name属性,就是以前web.xml中Filtername标签,随便起就行,urlPatterns = "/*"这个属性是拦截servlet的路径. 

package com.buba.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter(filterName = "oneFilter",urlPatterns = "/*")
public class OneFilter implements Filter {
    public OneFilter() {
        System.out.println("实力化Filter!");
    }

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("初始化Filter!");
    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("执行Filter!");
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    public void destroy() {
        System.out.println("销毁Filter!");
    }
}

然后在启动类上加@ServletComponentScan(basePackages = "com")这个注解表示扫描webservlet的一系列注解,basePackages = "com"这个属性表示扫描哪个包下的servlet注解,如果不写的话,servlet必须创建到启动类同包或者子包下.

springboot之如何使用servlethttps://blog.csdn.net/kxj19980524/article/details/85280798

猜你喜欢

转载自blog.csdn.net/kxj19980524/article/details/85282414