zoukankan      html  css  js  c++  java
  • 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 属性也是支持多配置的

  • 相关阅读:
    C#中两数相除为0的原因
    Keil STM32F4xx_DFP.1.0.8.pack下载链接
    LabVIEW入门第九天(数组和簇)
    C#执行文件抛出异常方法
    C#中两数相除为0的原因
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    C#判断文件夹路径是否存在并新建
    C#窗体程序随电脑分辨率自动调整大小
    VisualTreeHelper使用之ListBox模板DataTemplate中CheckBox选中项(WP7.1)
  • 原文地址:https://www.cnblogs.com/cx987514451/p/9304615.html
Copyright © 2011-2022 走看看