web.xml读取config.properties

在项目需求下,尝试在web.xml文件中通过${yyyyyyy}方式读取config.properties的值,但无法成功。搜索解决方案未果后,选择在ContextLoaderListener中自定义方法,于初始化时将properties文件的值注入到ServletContext中,以此达到获取参数的目的。这种方法经测试可行,但可能存在的隐患仍需进一步观察。
摘要由CSDN通过智能技术生成

因为项目需要,一个特别诡异的需要。

    <context-param>
        <param-name>xxxxxx</param-name>
        <param-value>${yyyyyyy}</param-value>
    </context-param>


想在web.xml这么玩, 结果打死获取不到数据,网上搜下,只见问题不见答案。

在sping.xml中经常这么玩,不明白到 web.xml中怎么就取不到了。


问题还是要解决啊,换个思路,在ContextLoaderListener中实现吧。


重写 ContextLoaderListener,初始化的时候 往上下文中塞参数

    public void contextInitialized(ServletContextEvent event) {
        this.contextLoader = createContextLoader();
        if (this.contextLoader == null) {
            this.contextLoader = this;
        }
        this.contextLoader.initWebApplicationContext(event.getServletContext());
       
        event.getServletContext().setInitParameter("xxxxxxx", PropertyUtil.getString("yyyyyyy"));
    }


测试下,居然也是可以的,至于有没隐患,嗯,再观察观察吧。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值