首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

Servlet的过滤器跟监听器

2012-11-18 
Servlet的过滤器和监听器过滤器Servlet过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看、提取或以某

Servlet的过滤器和监听器

过滤器

Servlet过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看、提取或以某种方式操作正在客户机和服务器之间交换的数据。过滤器是通常封装了一些功能的 Web 组件,这些功能虽然很重要,但是对于处理客户机请求或发送响应来说不是决定性的。

1. 过滤器在Web开发中的一些主要应用:?

1). 对用户请求进行统一认证;
2). 用户的访问进行记录和审核;
3). 对用户发送的数据进行过滤和替换;
4). 转换图像格式;
5). 对响应内容进行压缩,减少传输量;
6). 对请求和响应进行加解密处理。

?

2.过滤器的生命周期的各个阶段

1).实例化?——Servlet容器创建Filter示例对象

2).初始化——调用init()方法,完成对象初始化功能,只执行一次

3).过滤——调用doFilter()方法,该方法定义过滤规则

4).销毁——调用destroy()方法销毁Fiter对象,释放过滤器的资源。

?

3.过滤器的实现

1).创建一个Servlet类来实现(implements)接口javax.servlet.Filter

2).实现init()方法,读取过滤器的初始化函数。init()方法是javax.servlet.Filter接口中定义的方法,这里通常只需要实现即可。

3).实现doFilter()方法,完成对请求或者过滤的响应。doFilter()方法是过滤器的核心方法,你希望过滤器在做什么事时,就是通过这个方法中来实现的。

4).调用FilterChain接口对象的doFilter()方法,向后续的过滤器传递请求或响应。当有下一个过滤器时, 则调用下一个过滤器,若无下一个过滤器,则将请求或者响应传递到目标。

5).在web.xml中配置Filter。只有配置了过滤器,这个过滤器才会起作用,不然就没有一个url来找到这个过滤器。

例如:要实现一个实现了javax.servlet.Filter接口的serlvet类——TestFilter类(包名为:cn.netjava.Servlet),对来自Test类的请求的过滤,来配置Filter,就要在web.xml中输入:

<listener><listener-class>cn.netjava.Servlet.TestListener</listener-clss></listener>

<listener-class>标签之间放置的是实现了监听器接口的Servlet类的位置,上面配置的是在cn.netjava.Servlet包下的TestListener类的监听器。只要编写好实现监听器接口的类,并配置好web.xml文件,就完成了Servlet监听器的编写。

l

?

热点排行