过滤器和监听器

前言:这周我们完成了一个小项目,感觉难度还是有点的,特别是将以前所学的知识给融合起来一起使用,经历了几个日夜的奋斗,虽然说最后项目基本完成了,但是仍然有许多的功能尚未实现,希望在接下来的时间了继续努力!!!下面我为大家介绍一下监听器和过滤器。

一、filter:过滤器

*web中的过滤器:当访问服务器的资源是,过滤器可以将请求拦截下来,完成一些特殊的功能。

*过滤器的作用:一般用于完成通过的操作。如:登录验证、统一编码的处理,敏感字符过滤.....

1、步骤:

          Ⅰ、定义一个类,实现接口Filter

           Ⅱ、复写方法

           Ⅲ、配置拦截路径

2、注解编写

3、在web.xml文件中配置

<filter>
    <filter-name>demo1</filter-name>
    <filter-class>Filter1</filter-class>
</filter>
<filter-mapping>
    <filter-name>demo1</filter-name>
    <url-pattern>/index.jsp</url-pattern>
</filter-mapping>

4、可以用代码:chain.doFilter(request,response);取消拦截

5、过滤器执行过程

    Ⅰ、执行过滤器

     Ⅱ、执行放行后的资源

     Ⅲ、回来执行过滤器放行代码下面的代码

3、过滤器的生命周期方法

    Ⅰ、init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次用于加载资源

    Ⅱ、doFilter:每一次请求被拦截资源时,会执行。执行多次

     Ⅲ、destroy:在服务器关闭后,Filter对象被销毁。如果服务器被正常关闭,则会执行

destroy()方法。只执行一次。用于释放资源。

4、过滤器配置详解

*拦截路径配置:

           1、具体资源路径: /index.jsp

           2、拦截目录:/user/*

           3、后缀名拦截: *.jsp

           4 、拦截所有资源:/*

*拦截方式配置:资源访问方式

*注解配置:

         *设置dispatcherTypes属性

                 1、request:默认值。浏览器直接请求资源

                 2、forward:转发访问资源

                 3、include:包访问资源

                 4、error:错误跳转访问资源

                 5、async:异步访问资源

*web.xml配置

          设置标签<dispatcher></dispatcher>即可

5、过滤器链(配置多个过滤器)

        *执行顺序:如果有两个过滤器:过滤器1和过滤器2

                         过滤器1-->过滤器2-->资源执行-->过滤器2-->过滤器1

二、listener:监听器

         *事件监听机制

         *事件:一件事件

        *事件源:事情发送的地方

         *监听器:一个对象

         *监听注册:将事件、事件源、监听器绑定在以前。当事件源上发送某给事件后,执行监听              器代码。

*servletcontextListener:监听ServletContext对象的创建和销毁

*方法:

  *void contextDestroyed(ServletContextEvent sce):ServletContext对象被消耗之前会调用该方法

   *void contextInitialized(ServletContextEvent sce) :ServletContext对象创建后会调用该方法

*步骤:

       1、定义一个类,实现servletcontextListener的接口

       2、复写方法

       3、配置

1、web.xml

<listener>
    <listener-class>Listener1</listener-class>
</listener>

2、注解 @WebListener

总结:学习后端的路虽然漫长且艰难,但是我会一直努力坚持下去的!!!加油,奥里给!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值