44、Filter和Listener

Filter:过滤器

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

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

 

Filter使用步骤:

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

2、复写方法

3、配置拦截路径:1、web.xml

                          2、注解配置:@webFilter

 

细节:

1、web.xml配置,类似servlet配置

2、过滤器执行流程

    1、执行过滤器

    2、执行放行后的资源

    3、回来执行过滤器放行代码下边的代码

3、过滤器的生命周期

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

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

    3、destroy,在服务器关闭后,Filter对象被销毁,如果服务器上正常关闭,则会执行destroy方法,只执行一次

4、过滤器的配置详解

    拦截路径的配置:

        1、具体资源路径/user.jsp

        2、拦截目录:/user/*

        3、后缀名拦截:*.jsp

        4、拦截所有资源:/*

    拦截方式的配置:

        注解配置:设置dispatchertypes属性  

                        1、REQUEST:默认值,浏览器直接请求资源

                        2、FORWORD:转发访问资源

                        3、INCLUDE:包含访问资源

                        4、ERROR:错误跳转资源

                        5、ASYNC:异步访问资源

5、配置多个过滤器

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

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

    过滤器先后顺序

       1、注解配置:按照类名的字符串比较规则比较,值小的先执行

       2、web.xml配置:<filter-mapping>谁定义在上边,谁先执行

 

Listener:监听器

事件监听机制:

1、事件:一件事情

2、事件源:事件发生的地方

3、监听器:一个对象

4、注册监听:将事件,事件源,监听器绑定在一起,当事件源上发生某个事件后,执行监听代码

 

servletcontextListener接口:监听servletContext对象的创建和销毁

contextDestroyed():servletContext对象被销毁之前会调用该方法

contextinitialized():servletContext对象创建后会调用该方法

 

步骤:

1、定义一个类实现接口

2、复写方法

3、配置

        1、web.xml

        2、注解配置:@webListener

 

转载于:https://my.oschina.net/u/4131739/blog/3069374

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值