`
uule
  • 浏览: 6337420 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

使用ConfigurationFactory加载context-param中的配置文件

阅读更多

web.xml里面可以定义两种参数:
(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:

<context-param>
           <param-name>configUrl</param-name>
           <param-value>avalible during application</param-value>
  </context-param>

 
   用getServletContext().getInitParameter("configUrl"))获取

(2)servlet内的初始化参数,,在web.xml中配置如下:

<servlet>
    <servlet-name>MainServlet</servlet-name>
    <servlet-class>com.wes.controller.MainServlet</servlet-class>
    <init-param>
       <param-name>param1</param-name>
       <param-value>avalible in servlet init()</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
</servlet>

 

只能在servlet的init()方法中用this.getInitParameter("param1"));得到

 

使用ConfigurationFactory获取参数:

ConfigurationFactory(String configurationFileName)
    //The path to the configuration file
    //此处path是绝对路径,所以必须context.getRealPath(..);

 例子:
web.xml中:

<context-param>
        <param-name>configUrl</param-name>
        <param-value>WEB-INF/config.xml</param-value>
     </context-param>

 

WEB-INF  -> config.xml中:

<?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <xml fileName="config/AbacusCfg.xml" />
        <xml fileName="config/emailconfig.xml" />
        <properties fileName="global.properties"/>
    </configuration>

 

WEB-INF -> config -> emailconfig.xml:

 <?xml version="1.0" encoding="UTF-8"?>  
 <Config>  
        <b2bEmail>  
           <receiver>112@126.com.hk;</receiver>  
        </b2bEmail>  
        <packageb2cemail>  
           af@126.com.hk;alex@126.com.hk  
        </packageb2cemail>  
        ...  
</Config>

 

 启动时在contextInitialized()方法中获取配置文件:

this.context = sce.getServletContext();    //ServletContextEvent sce
    String path = this.context.getRealPath(this.context.getInitParameter("configUrl"));

    ConfigurationFactory factory = new ConfigurationFactory(path);
    Configuration config = factory.getConfiguration();
    this.context.setAttribute(MyConstants.CONFIGURATION_KEY, config);
    this.context.setAttribute(MyConstants.GOOGLE_MAP_KEY, config.getString("packageb2cemail"));
    //String bkemail = config.getString("b2bEmail.receiver");

 。。。

 

 

分享到:
评论

相关推荐

    dropwizard-environment-config:Dropwizard ConfigurationFactory 允许将环境变量指定为 YAML 中的值

    Dropwizard ConfigurationFactory 允许将环境变量指定为 YAML 中的值。 设置 首先将依赖项添加到您的 pom: &lt; groupId&gt;de.thomaskrille.dropwizard &lt; artifactId&gt;dropwizard-environment-configuration ...

    spring操作hbase demo

    3. **配置HBase连接**:在Spring的配置文件(如applicationContext.xml)中,配置HBase的相关信息,包括Zookeeper地址、HBase表名等: ```xml ...

    springboot集成ckfinder3.5.1

    然后,在Spring Boot的配置文件`application.yml`或`application.properties`中,我们需要配置CKFinder的相关参数,例如访问路径、存储位置、权限控制等。这可能包括: ```yaml ckfinder: base-path: /ckfinder ...

    Java封装Configuration

    \test\home\etc\conf\app-config.xml ...&gt; ... ConfigurationFactory factory = new ConfigurationFactory(configFile); this.conf = factory.getConfiguration(); this.buildFactory(); }

    长春人文学院在河北2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在河北2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    CPA《公司战略与风险管理》张英奎 基础班 第1章 战略管理中的权力与利益相关者2.pdf

    CPA《公司战略与风险管理》张英奎 基础班 第1章 战略管理中的权力与利益相关者2.pdf

    昆明文理学院在河北2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在河北2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    C++开发模板文档.docx

    C++开发模板文档

    使用php采集淘宝产品数据,并上传到opencart_商城中_phpspider.zip

    使用php采集淘宝产品数据,并上传到opencart_商城中_phpspider

    平顶山学院在河北2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在河北2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    java基于SpringBoot+vue 学生宿舍管理系统

    1、开发环境:SpringBoot框架;内含Mysql数据库;VUE技术;内含说明文档 2、需要项目部署的可以私信 3、项目代码都经过严格调试,代码没有任何bug! 4、该资源包括项目的全部源码,下载可以直接使用! 5、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 6、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。

    c语言俄罗斯方块源码(完整源码)

    c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄罗斯方块源码(完整源码)c语言俄

    沈阳航空航天大学在河南2021-2024各专业最低录取分数及位次表.pdf

    全国各大学在河北2021-2024年各专业最低录取分数及录取位次数据,高考志愿必备参考数据

    基于MicroPython的ESP32控制SSD1306 OLED屏幕显示软硬件方案Wokwi仿真实现

    本方案为基于MicroPython的ESP32控制SSD1306 OLED屏幕显示设计方案的软硬件仿真。ESP32作为核心硬件,具备强大处理能力与丰富外设接口。其双核处理器可高效处理任务,低功耗特性适用于多种场景。通过I2C接口能与SSD1306 OLED屏幕建立连接。 SSD1306 OLED屏幕采用自发光技术,高对比度、广视角且快速响应。ssd1306 OLED在不同光照下都有良好显示效果,ssd1306 OLED屏幕尺寸小巧,通常可以方便地集成到各种设备中,而不会占用过多的空间。它的分辨率适中,可以满足大多数应用场景的显示需求,无论是显示简单的文本信息还是较为复杂的图形图像。例如,在小型的智能家居控制面板、可穿戴设备或者便携式仪器仪表中,ssd1306 OLED屏幕都能够提供清晰的信息显示。 MicroPython是一种为微控制器设计的精简版Python编程语言。MicroPython为方案提供软件支持,具有简洁易读性。可轻松初始化ESP32引脚并配置通信模式。其丰富库函数能实现图形绘制和文本显示等功能,为各种应用场景提供清晰美观的信息显示方案。

    基于Arduino平台的ADNS-3080光流传感器库

    这是基于Arduino Uno平台开发的ADNS-3080库,用于对此种型号光流传感器进行相关操作,但对其他开发板也通用,只要是支持SPI都可以,可以以离线库的形式加载进Arduino IDE。开发板采用SPI通信方式与ADNS-3080光流传感器进行通信,本库封装了MOtion数据读取、位移数据读取以及帧数据读取这3种模式的函数。

    【语音加密】基于matlab GUI语音信号加密解密【含Matlab源码 295期】.mp4

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 语音处理系列程序定制或科研合作方向:语音隐藏、语音压缩、语音识别、语音去噪、语音评价、语音加密、语音合成、语音分析、语音分离、语音处理、语音编码、音乐检索、特征提取、声源定位、情感识别、语音采集播放变速等;

    第7周实践课安排.pdf

    第7周实践课安排

    scratch-level-1-master.zip

    压缩包资源包含了scratch编程一级测试题

    矩形窗低通IIR滤波+哈明窗低通FIR滤波+凯塞窗带通FIR滤波语音去噪(时域 频域)【含Matlab源码 4443期】.mp4

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 语音处理系列程序定制或科研合作方向:语音隐藏、语音压缩、语音识别、语音去噪、语音评价、语音加密、语音合成、语音分析、语音分离、语音处理、语音编码、音乐检索、特征提取、声源定位、情感识别、语音采集播放变速等;

    CPA 审计 马贞 专题班 审计重要性 重要性含义和重要性水平的确定 11页.pdf

    CPA 审计 马贞 专题班 审计重要性 重要性含义和重要性水平的确定 11页.pdf

Global site tag (gtag.js) - Google Analytics