同servlet一样,filter也可以通过web.xml进行初始化配置。在初始化时,将参数封装进入FilterConfig并在调用init方法时作为实参传入,我们可以在init方法中获取参数。
String getFilterName();//得到filter的名称。
String getInitParameter(String name);//返回定名称的初始化参数的值。如果不存在返回null.
Enumeration getInitParameterNames();//返回过滤器的所有初始化参数的名字的枚举集合。
public ServletContext getServletContext();//返回Servlet上下文对象的引用。
<filter>
<filter-name>filter1</filter-name>
<filter-class>com.lanson.filter.MyFilter1</filter-class>
<init-param>
<param-name>realname</param-name>
<param-value>xiaoming</param-value>
</init-param>
<init-param>
<param-name>gender</param-name>
<param-value>boy</param-value>
</init-param>
<init-param>
<param-name>age</param-name>
<param-value>10</param-value>
</init-param>
<init-param>
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
/**
* @Author: Lansonli
* @Description: MircoMessage:Mark_7001
*/
public class MyFilter1 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// 获取初始化的一些参数
String realname = filterConfig.getInitParameter("realname");
System.out.println("realname:"+realname);
Enumeration<String> pNames = filterConfig.getInitParameterNames();
while(pNames.hasMoreElements()){
String pName = pNames.nextElement();
System.out.println(pName+":"+filterConfig.getInitParameter(pName));
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。