• Filter、Listener


    Filter(过滤器)

    概念:

    对请求参数、请求头以及响应参数进行过滤。一般用于完成通用的操作,如:登录验证、统一编码处理、敏感字符过滤...。

    代码:

    public class  FilterDemo implements Filter {
    
    
        @Override
        public void init(FilterConfig filterConfig) throws ServletException {
                 //进行初始化一些信息,服务器启动时
        }
    
        @Override
        public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
            //进行请求的过滤
            System.out.println("filterDemo1被执行了....");
            //放行
            filterChain.doFilter(servletRequest,servletResponse);
            
            //对响应内容进行过滤
            System.out.println("filterDemo1被执行了22....");
        }
    
        @Override
        public void destroy() {
              //进行销毁,服务器正常关闭时
        }
    }
    

    过滤器web.xml配置:

    <filter>
        <filter-name>demo1</filter-name>
        <filter-class>cn.itcast.web.filter.FilterDemo1</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>demo1</filter-name>
        <!-- 拦截路径 -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
    • 拦截路径配置
      • 具体资源路径: /index.jsp 只有访问index.jsp资源时,过滤器才会被执行。
      • 拦截目录: /user/* 访问/user下的所有资源时,过滤器都会被执行。
      • 后缀名拦截: *.jsp 访问所有后缀名为jsp资源时,过滤器都会被执行。
      • 拦截所有资源:/* 访问所有资源时,过滤器都会被执行。
    • 注解
      @WebFilter

    Listener(监听器)

    定义:

    由事件、事件源、监听器、注册监听组成事件监听机制。注册监听将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码。

    方法(举例一个监听ServletContext对象的创建和销毁):

    public class  ServletContextDemo implements ServletContextListener{
    
      public  void contextInitialized(ServletContextEvent sce) {
          System.out.println("ServletContext初始化时执行该代码");
        }
    
        public  void contextDestroyed(ServletContextEvent sce) {
            System.out.println("ServletContext销毁时执行该代码");
        }
    
    }
    

    监听器web.xml配置:

    <listener>
        <listener-class>cn.itcast.web.listener.ContextLoaderListener</listener-class>
    </listener>
    
    • 注解
      @WebListener
    XFS
  • 相关阅读:
    懒人模式Singleton模式Meyers版本号
    欢迎CSDN-markdown编辑
    协同编辑多人word一个小技巧文件
    72_leetcode_Construct Binary Tree from Preorder and Inorder Traversal
    2015第44周五Java集群技术(转)
    linux远程管理工具
    2015第44周三提升个人价值意识
    2015第44周二
    2015第44周一
    2015第43周日
  • 原文地址:https://www.cnblogs.com/xiaofengshan/p/14903565.html
Copyright © 2020-2023  润新知