Servlet过滤器——创建过滤器
2016-06-20 13:36
330 查看
1.概述
介绍如何创建一个过滤器,并使用过滤器在打开页面的同时输出信息,此功能是由过滤器处理完成的。2.技术要点
Serlvet过滤器实现了Filter接口,在Filter接口中定义了以下几个方法:a. Init().程序启动时调用此方法,用于初始化该Filter。
b. doFilter().客户请求服务器时会经过这里,是具体执行过滤器代码。
c. destroy().程序关闭时调用此方法,用于销毁一些资源。
以上三个方法反映了Filter的生命周期,其中init()和destroy()方法只会被调用一次,分别在web程序加载和卸载的时侯调用,而doFilter()方法每次有客户端请求都会被调用一次。
3.具体实现
(1)创建过滤器类FirstFilter,主要代码如下:package com.mr; public class FirstFilter implements Filter { private FilterConfig filterConfig; //初始化方法 public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig; } //具体执行的方法 public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException{ try { System.out.println("客户端的请求经过这里!!!!"); filterChain.doFilter (request, response); System.out.println("帐号和密码请求处理经过这里"); } catch (ServletException e) { System.out.println("客户端请求失败"); }catch(IOException io){ System.out.println("帐号和密码请失败"); } } //销毁过滤器 public void destroy() { this.filterConfig=null; } }
(2)在web.xml中配置过滤器,关键代码如下:
<filter> <filter-name>FirstFilter</filter-name><!--过滤器名称 --> <filter-class>com.mr.FirstFilter</filter-class><!--过滤器的实现类 --> </filter> <filter-mapping> <filter-name>firstFilter</filter-name> <!--映射过滤器名称 --> <url-pattern>/*</url-pattern> <!--使用通配符*什么请求都经过滤器 --> </filter-mapping>
相关文章推荐
- xshell连接虚拟机中的linux
- Java算法 归并排序
- 2016长城信息杯中国大学生程序设计竞赛中南邀请赛 xtu 1252 Defense Tower
- love~LBJ,奥布莱恩神杯3
- love~LBJ,奥布莱恩神杯3
- 由FutureTask的get方法靠什么机制来阻塞引发的思考
- iOS 单例对象创建
- android HttpURLConnection网络请求数据
- android线程管理
- 详解 Android 性能优化
- C语言指针和链表的体会
- memcached 失效的数据去了哪里了
- Java的String、StringBuffer和StringBuilder的区别
- 第15章 css样式设置小技巧
- 加入购物车动画
- Next Permutation
- HTTP 代理原理及实现(二)
- 浅谈iOS中MVVM的架构设计
- 富文本点击事件(链接)
- CUDA的一些总结和体会