过滤器Filter示例

 
过滤器Filter示例_第1张图片
 

 

第一步:写一个类实现Filter并实现其三个方法

package com.xiaoxing.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;

/**
 * 过滤器示例
 * @author Administrator
 *
 */
public class MyFilter implements Filter{

	@Override
	public void destroy() {
		System.out.println("destory()");
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse resp,
			FilterChain chain) throws IOException, ServletException {
		
		//前置部分
		System.out.println("前置部分");
		
		// 继续向下执行
		chain.doFilter(req, resp);
		
		// 后置部分
		System.out.println("后置部分");
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("init()");
	}

}

 第二步:到web.xml里配置

<!-- 配置过滤器 -->
  <filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>com.xiaoxing.web.filter.MyFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

 第三步:浏览器访问应用,我上面配置的是/*,表示拦截所有请求。其控制台结束如下:

init()
十月 10, 2013 11:28:56 上午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
十月 10, 2013 11:28:56 上午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8443"]
十月 10, 2013 11:28:56 上午 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
十月 10, 2013 11:28:56 上午 org.apache.catalina.startup.Catalina start
INFO: Server startup in 714 ms
前置部分
后置部分
前置部分
head name-->host, value-->localhost:8080
name[ewdgd]password[geg]name->JSESSIONID, value->4E47BDEF6D5A916847C671DA00BF67FF
后置部分

 过滤器Filter示例_第2张图片

你可能感兴趣的:(filter)