• spingBoot-自定义过滤器



    package
    com.cx.springboot.filters; 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 javax.servlet.annotation.WebFilter; /** * * @作者 陈先生 * @创建时间 2018年6月23日 * @功能描述 自定义过滤器 , 验证登陆信息 */ @WebFilter(urlPatterns = "/app/*" ) //urlPatterns 配置拦截的路径, 支持多配置 public class LoginFilter implements Filter { /** * 容器销毁时调用 */ @Override public void destroy() { System.err.println("容器销毁。"); } /** * 请求被拦截时调用 */ @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { System.err.println("拦截到请求 !" ); String name = request.getParameter("name"); String pwd = request.getParameter("pwd"); if("admin" .equals(name) && "123" .equals(pwd)){ //放行, 执行请求或后续的过滤器 filterChain.doFilter(request, response); } else{ //直接返回 或者重定向到登录页面 return ; } } /** * 容器启动时调用 */ @Override public void init(FilterConfig arg0) throws ServletException { System.err.println("容器启动。"); } }

    1) 创建类 实现 Filter 接口, 注意是import javax.servlet.Filter; 包下的Filter

    2) 实现接口的三个方法
      //容器销毁时调用
      public void destroy() {}

      //url被拦截时调用,处理业务逻辑
      public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain)
      throws IOException, ServletException {}

      //容器初始化时调用
      public void init(FilterConfig arg0) throws ServletException {}

    3)配置需要过滤路径
      支持多个路径的配置
      @WebFilter(urlPatterns = {"/add/*,"/update/*,"/del/*"} )

      springBoot支持这种配置嘛? 测试不支持!
      @WebFilter(urlPatterns = "/app/get*" )

    4) 配置servlet 3.0 的拦截器扫描
      @ServletComponentScan(basePackages={"com.cx.springboot.filters"})
      public class Application1 {}
      在启动类加入@ServletComponentScan 注解, 同时建议配置basePackages属性, 指定需要扫描的包,
      默认不设置的话会扫描所有的包,同时basePackages 属性也是支持多配置的

  • 相关阅读:
    hdu5269 ZYB loves Xor I
    UVA 11181 Probability|Given
    UVA 10277 Boastin' Red Socks
    CodeForces 566B Replicating Processes
    UVA 10714 Ants
    CodeForces 567B Berland National Library hdu-5477 A Sweet Journey
    UVA 10759 Dice Throwing
    UVA 11027
    「CF241E」Flights
    「CF891C」Envy
  • 原文地址:https://www.cnblogs.com/cx987514451/p/9304615.html
Copyright © 2020-2023  润新知