Filter入门Demo
来源:互联网 发布:手机导航软件排名 编辑:程序博客网 时间:2024/05/22 04:56
Filter即为过滤器,能实现整体或局部过滤的功能,入门开发例子如下
新建class类 FilterDemo1,并实现javax.servlet.Filter
package cn.itcast.web.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class FilterDemo1 implements Filter {//实现javax.servlet.Filterpublic void init(FilterConfig filterConfig) throws ServletException {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {System.out.println("doFilter");//放行chain.doFilter(request, response);}public void destroy() {}}
配置web.xml文件(Filter配置在servlet之前)
<filter><filter-class>cn.itcast.web.filter.FilterDemo1</filter-class><filter-name>FilterDemo1</filter-name></filter><filter-mapping><filter-name>FilterDemo1</filter-name><url-pattern>/*</url-pattern><!--过滤根目录下所有文件--></filter-mapping>
如果有多个Filter,形成Filter链的话,执行顺序是按照web.xml中配置的顺序,从上到下执行的,并且,执行过程中,先执行每个chain.doFilter(request,,response),然后倒着执行chain后面的内容,Demo如下
FilterDemo1
package cn.itcast.web.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class FilterDemo1 implements Filter {//实现javax.servlet.Filterpublic void init(FilterConfig filterConfig) throws ServletException {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {System.out.println("doFilter 1");//放行chain.doFilter(request, response);System.out.println("do after 1");}public void destroy() {}}FilterDemo2
package cn.itcast.web.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class FilterDemo2 implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {System.out.println("Filter 2");chain.doFilter(request, response);System.out.println("do after 2");}public void init(FilterConfig filterConfig) throws ServletException {}}
web.xml配置文件如下
<filter><filter-class>cn.itcast.web.filter.FilterDemo1</filter-class><filter-name>FilterDemo1</filter-name></filter><filter-mapping><filter-name>FilterDemo1</filter-name><url-pattern>/*</url-pattern><!--过滤根目录下所有文件--></filter-mapping><filter><filter-class>cn.itcast.web.filter.FilterDemo2</filter-class><filter-name>FilterDemo2</filter-name></filter><filter-mapping><filter-name>FilterDemo2</filter-name><url-pattern>/*</url-pattern><!--过滤根目录下所有文件--></filter-mapping>
则执行的结果如下所示:
doFilter 1
Filter 2
do after 2
do after 1
0 0
- Filter入门Demo
- Another Filter Demo
- filter函数Demo
- Filter入门
- Filter 入门
- Filter入门
- filter 入门
- Filter 做Controller 的demo
- servlet过滤器Filter入门
- ISAPI Filter开发入门
- filter编程入门
- [转]filter编程入门
- filter编程入门
- servlet - Filter过滤器入门
- filter 编程入门
- 过滤器 filter-----入门学习
- 1 filter入门
- Filter开发入门
- 我的csdn第一篇博文
- Convert Sorted List to Binary Search Tree -- LeetCode
- 串行口中断功能
- 宏的扩展——REPEAT/WHILE
- Pass by reference和pass by value区别举例
- Filter入门Demo
- 说说漂亮女人的危险性
- VM之虚拟机启动问题
- OSGI 实战中文版
- 【Android中定义图片按钮】
- 写在四月天(开题)
- XAF添加Action到菜单 用于过滤
- 委托和事件
- 坚定转型,黑莓投资电子医疗创业公司