1.Filter过滤器

  1)为是么有过滤器

    开发项目中经常遇到直接登录主页面要判断用户是否合法,这类代码比较重复,可以通过过滤器来解决

  2)过滤器原理生命周期

    服务器创建过滤器对象-》一个执行init()方法-》用户请求-》执行第一个过滤器-》执行第二个过滤器-》到达目标地址-》浏览器关闭过滤器销毁

  3)过滤器语法

    Filter接口:三个主要方法

      init(FilterConfig):初始化方法,service()服务启动时执行 

      doFilter(request,response,FilterChain chain);过滤器拦截的业务处理方法

      destroy();  销毁过滤器实例时调用

      

      其中:filterConfig:获取初始化参数信息;getInitParameter("");getInitParameterName()

         chain:过滤器参数,一个个过滤器形成一个执行链

            作用:执行下一个过滤器或放行

  4)部署过滤器

    1.创建类继承Filter接口

       实现3个方法

public class HelloFilter implements Filter{

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        System.out.println("helloFilter销毁了!");
    }

    @Override
    public void doFilter(ServletRequest arg0, ServletResponse arg1,
            FilterChain arg2) throws IOException, ServletException {
        // TODO Auto-generated method stub
        System.out.println("HelloFilter正在过滤");
    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
        // TODO Auto-generated method stub
        System.out.println("过滤器初始化开始");
        String name=arg0.getInitParameter("name");
        System.out.println("name的值:"+name);
        Enumeration<String> names=arg0.getInitParameterNames();
        while(names.hasMoreElements()){
            System.out.println("初始化参数"+names.nextElement());
        }
    }
View Code

相关文章:

  • 2022-12-23
  • 2022-03-04
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-09-09
  • 2021-10-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案