欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于java servlet过滤器和监听器(详解)

程序员文章站 2024-02-20 16:48:16
1 过滤器 1.过滤器是什么? servlet规范当中定义的一种特殊的组件,用于拦截容器的调用. 注:容器收到请求之后,如果有过滤器,会先调用过滤器,然后在调...

1 过滤器

1.过滤器是什么?

servlet规范当中定义的一种特殊的组件,用于拦截容器的调用.

注:容器收到请求之后,如果有过滤器,会先调用过滤器,然后在调用servlet.

2.如何写一个过滤器?

1.写一个java类,实现filter接口;

2.在接口方法中实现拦截方法;

3.配置过滤器(web.xml);

3.配置初始化参数

1.配置初始化参数.(init-param)

2.通过filterconfig提供的getinitparamenter方法读取初始化的值.

4.优先级:

当有多个过滤器都满足拦截要求,则容器依据<filter-mapping>配置的先后顺序执行.

2 监听器

1.什么是监听器?

servlet规范当中定义的一种特殊的属性,用于监听容器产生的事件的.

注:有两大类事件

i) 声明周期相关的事件:

指得是,当容器创建或者销毁了request,session,servlet上下文对象时,产生的事件.

ii) 绑定数据相关的事件:

指的是,当调用了request,session,servlet上下文的setattribute,removeattrbute时产生的事件.

1.如何写监听器?

1.写一个java类实现监听器接口.

注:依据监听的事件类型选择相应的接口,例如:要监听session创建或者销毁对应的事件,需要实现httpsessionlistener接口

2.在接口方法中,实现监听处理逻辑;

3.配置监听器(web.xml).

2.serlvet上下文

1.什么是servlet上下文?

容器启动以后,会为每一个web应用创建一个唯一符合servletcontext接口的对象,该对象就是servlet上下文.

2.特点:

i) 唯一性:一个web应用对应一个servlet上下文.

ii) 持久性:只要服务器不关闭,应用没有被卸载,则上下文就会一直在.

1.如何获得servlet上下文?

genericservlet,servletconfig,filterconfig,httpsession都提供了一个方法(getservletcontext)

2.上下文的作用

i) 绑定数据

setattribute,getattribute,removeattribute

注:从生存的时间长度比较:request<session<上下文

在满足使用条件的情况下,优先使用声明周期短的.

ii) 读取全局的初始化参数.

以上这篇基于java servlet过滤器和监听器(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。