大数据必学Java基础(一百一十):过滤器初始化参数

举报
Lansonli 发表于 2022/12/23 13:41:06 2022/12/23
【摘要】 过滤器初始化参数同servlet一样,filter也可以通过web.xml进行初始化配置。在初始化时,将参数封装进入FilterConfig并在调用init方法时作为实参传入,我们可以在init方法中获取参数。一、FilterConfig接口为我们的功能String getFilterName();//得到filter的名称。 String getInitParameter(String ...

过滤器初始化参数

同servlet一样,filter也可以通过web.xml进行初始化配置。在初始化时,将参数封装进入FilterConfig并在调用init方法时作为实参传入,我们可以在init方法中获取参数。

一、FilterConfig接口为我们的功能

String getFilterName();//得到filter的名称。

 
String getInitParameter(String   name);//返回定名称的初始化参数的值。如果不存在返回null.

 
Enumeration   getInitParameterNames();//返回过滤器的所有初始化参数的名字的枚举集合。

 
public ServletContext   getServletContext();//返回Servlet上下文对象的引用。


二、配置Filter初始化参数

<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));
        }
    }
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。