Filter过滤器,和Listener监听器

阅读 78

2022-02-11


Filter是运行web项目中的一个组件,当请求过来时,过滤器会先运行里面的代码,然后再把请求分发给真正要请求的资源。

Filter过滤器,和Listener监听器_xml

过滤器:过滤器可以过滤一个或者多个Servlet的请求,请求先经过过滤器,再经过Servlet
响应从Servlet发出,会经过过滤器再响应结果给浏览器。

过滤器的作用:

过滤器中定义多个Servlet的共性代码,避免代码冗余。

过滤器的开发步骤:

  1. 编码 implements Filter
    Filter过滤器,和Listener监听器_Filter过滤器_02
    2.在web.xml里面对过滤器进行配置。
    Filter过滤器,和Listener监听器_生命周期_03
    URL-pattern设置过滤路径,/*是过滤所有。
    3.测试使用。之前怎么请求servlet,现在还怎么请求,请求会自动运行过滤器里面的代码。

使用filter的注意事项:

1.过滤器可以过滤任意的资源。资源包括servlet,html,图片,css,jsp,js。

2.配置web.xml的时候

/过滤所有的请求

/LoginAction过滤请求路径是LoignAction的资源

/person/过滤请求路径中包含/person的请求。

3.一个filter-mapping标签里面可以配置多个url-pattern,多个url-pattern都对应执行该filter。

4.当一个项目中有多个过滤器时,那么多个过滤器的执行顺序跟配置的先后顺序有关。

Filter的典型应用案例:

1. 设置字符编解码集

Filter过滤器,和Listener监听器_xml_04

Filter过滤器,和Listener监听器_xml_05

2. 强制登录

Filter过滤器,和Listener监听器_Filter过滤器_06

Filter过滤器,和Listener监听器_Filter过滤器_07

Listener(监听器)

监听器:负责监听特殊事件发生的对象,在监听到特殊事件发生之后,执行一段Java代码。

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

监听网站的启动和卸载

HttpSessionListener: 监听session对象的创建和销毁

Filter过滤器,和Listener监听器_Listener监听器_08

Filter过滤器,和Listener监听器_监听器_09

生命周期:

Filter对象的生命周期:在web应用启动时创建

在过滤请求时调用

在web网站关闭时销毁

Servlet对象的生命周期:在一次访问时创建

特殊情况:

Filter过滤器,和Listener监听器_xml_10

在接受浏览器访问时使用

在web网站关闭时销毁



精彩评论(0)

0 0 举报