Filter(二)FilterConfig接口

FilterConfig接口

用户在web.xml中配置Filter时,可以通过<init-param>来为Filter配置一些初始化参数,当WEB容器创建Filter实例时,将会调用其init方法;而<init-param>配置的参数将会封装到一个FilterConfig对象中,并传递个init的FilterConfig参数。因此在init方法中可以通过FilterConfig的方法来获取这些参数:

其方法有:

String getFilterName():得到filter的名称。
String getInitParameter(String name): 返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.
Enumeration getInitParameterNames():返回过滤器的所有初始化参数的名字的枚举集合。
public ServletContext getServletContext():返回Servlet上下文对象的引用。
/ /示例

<filter>	
  	<filter-name>FilterUtils</filter-name>
  	<filter-class>cn.itcast.utils.FilterUtils</filter-class>
  	<init-param>
  		<param-name>param1</param-name>
  		<param-value>value1</param-value>
  	</init-param>
  	<init-param>
  		<param-name>param2</param-name>
  		<param-value>value2</param-value>
  	</init-param>
  	<init-param>
  		<param-name>param3</param-name>
  		<param-value>value3</param-value>
  	</init-param>
  </filter>
  <filter-mapping>
  	<filter-name>FilterUtils</filter-name>
  	<url-pattern>/*</url-pattern>
  	<dispatcher>REQUEST</dispatcher>
  </filter-mapping>

public class FilterUtils implements Filter {

	@Override
	public void destroy() {
		// TODO Auto-generated method stub
		System.out.println("destory....");
	}

	@Override
	public void doFilter(ServletRequest req, ServletResponse resp,
			FilterChain arg2) throws IOException, ServletException {
		// TODO Auto-generated method stub
		System.out.println("do Filter....");
	}

	@Override
	public void init(FilterConfig config) throws ServletException {
		// TODO Auto-generated method stub
		System.out.println("init....");
		System.out.println("Filter Name is:"+config.getFilterName());
		Enumeration enumation = config.getInitParameterNames();
		String name;
		while(enumation.hasMoreElements()){
			name = (String) enumation.nextElement();
			System.out.println("name is:"+name);
			System.out.println("value is:"+config.getInitParameter(name));
		}
	}
}

init....
Filter Name is:FilterUtils
name is:param1
value is:value1
name is:param2
value is:value2
name is:param3
value is:value3

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值