Servlet FilterConfig详解(获取web.xml中filter参数)
用户在配置filter时,可以使用为filter配置一些初始化参数,当web容器实例化Filter对象,调用其init方法时,会把封装了filter初始化参数的filterConfig对象传递进来。因此FilterConfig可以获取部署描述符文件(web.xml)中分配的过滤器初始化参数。
方法
String getFilterName() //得到filter的名称。
String getInitParameter(String name) // 返回在部署描述中指定名称的初始化参数的值。如果不存在返回null.
Enumeration getInitParameterNames() //返回过滤器的所有初始化参数的名字的枚举集合。
public ServletContext getServletContext() //返回Servlet上下文对象的引用。
例子
//web.xml
CacheFilter
com.jspbook.CacheFilter
/TimeMonger.jsp
nocache
/TestCache.jsp
nocache
cacheTimeout
600
locale-sensitive
true
CacheFilter
*.jsp
//获取web.xml中filter参数
public void init(FilterConfig filterConfig) {
String ct = filterConfig.getInitParameter("cacheTimeout");
if (ct != null) {
cacheTimeout = 60 * 1000 * Long.parseLong(ct);
}
filterConfig.getInitParameter("locale-sensitive"); //得到的就是ture
filterConfig.getInitParameter("cacheTimeout"); //得到的就是600
filterConfig.getInitParameter(request.getRequestURI()); //得到的就是param - name对应的param - value值ServletContext sc = filterConfig.getServletContext();
}
总结
1. FilterConfig对象提供对servlet环境及web.xml文件中指派的过滤器名的访问。
2. FilterConfig对象具有一个getInitParameter方法,它能够访问部署描述符文件(web.xml)中分配的过滤器初始化参数。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。