apachecommonsconfiguration使用自动加载修改配置Word文档下载推荐.docx
《apachecommonsconfiguration使用自动加载修改配置Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《apachecommonsconfiguration使用自动加载修改配置Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
XMLdocuments
WindowsINIfiles
Propertylistfiles(plist)
JNDI
今天就给大家举个用ApacheCommonsConfiguration读取XML文件的例子,首先到http:
//apache.org下载Commons
Configuration的jar包,最新版本是commons-configuration-1.5.jar并且还需要同时下载:
commons-lang-2.3.jarcommons-collections-3.2.jarcommons-logging-1.1.1.jar
这三个包是必须的,我下载的都是最新版本,版本不统一可能
会出现问题,可以自己试验一下.我用的开发工具是
Eclipse3.2。
使用Eclipse创建一个JAVA项目,在项目的根目录下创建个AppConfig.xml,内容如下:
08:
00:
0017:
0008:
30:
00
351000
然后再创建一个测试类:
packageorg.xdf.learn.conf;
importmons.configuration.ConfigurationException;
importmons.configuration.XMLConfiguration;
publicclassTest{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
try{
XMLConfiguration(file);
System.out.println("
成功加载:
"
+file);
配置参数.考勤时间.上班时间"
);
序配置参数.个人所得税起征额"
上班时间:
"
+btime);
个人所得税起征额:
+
basicm+"
元"
}catch(ConfigurationExceptione){
e.printStackTrace();
以下是测试结果:
成功加载:
AppConfig.xml
班时间:
08:
个人所得税起征额:
1000.0元相信大家在很多项目中已经见过类似的功能,比如说有时候我们修改Web项目的配置文件
web.xml,Tomcat会自动重新启动我们的项目。
Tomcat是怎么做到的呢,其实如果使用CommonsConfiguration的话,
简单的很,只需要在原来的基础上再添加一句代码就够了:
config.setReloadingStrategy(new
FileChangedReloadingStrategy());
面我们编写一个Web项目测试一下这个功能,当然这个功能不是只能应用于Web项目。
之所以选择Web项目,个人觉得这样做相对比较简单一些。
首先,创建一个Web项目:
Projectname:
CommonConfigurationAutomaticReloading
Web-rootfolder:
WebRoot
WebContext-root:
/ccar
然后,参考《ApacheCommonsConfiguration使用入门》添加必要的包到项目的lib目录下,并添加到构建路径中,并把AppConfig.xml文件拷贝到项目的WEB-INF下。
接下来添加一个Servlet:
TestServletservlets.TestServlet1TestServlet/TestServlet
以下是Servlet的Java源代码,
packageservlets;
import
mons.configuration.ConfigurationException;
mons.configuration.XMLConfiguration;
mons.configuration.reloading.FileChangedReloadingStrategy;
publicclassTestServletextendsHttpServlet{
@OverridepublicvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)
throwsServletException,IOException{
ServletContextapplication
this.getServletContext();
XMLConfigurationconfig
(XMLConfiguration)application.getAttribute("
appConfig"
Stringbtime
config.getString("
应用程序配置
参数.考勤时间.上班时间"
置参数.个人所得税起征额"
@Overridepublicvoidinit()throwsServletException{
Stringpath
this.getServletContext().getRealPath("
/"
/WEB-INF/AppConfig.xml"
;
filename);
config);
XMLConfiguration(filename);
config.setReloadingStrategy(new
application.setAttribute("
}catch(ConfigurationExceptione)
最后,启动Tomcat并发布项目,控制台应该显示如下信息
类似):
成功加载:
F:
\jdev\apache-tomcat-6.0.14\webapps\ccarVWEB-INF/App
Config.xml
然后,打开浏览器,在地址栏里输入:
http:
//localhost:
8080/ccar/TestServlet并回车,控制台显示如
1000.0元再修改AppConfig.xml的内容:
1000
2000
保存之后,控制台显示如下信息:
2007-12-269:
09:
47
mons.configuration.AbstractFileConfigurationreload
信息:
Reloadingconfiguration.URLisfile:
/F:
/jdev/apache-tomcat-6.0.14/webapps/ccar/WEB-INF/App
回到浏览器,刷新一下,控制台显示如下:
2000.0元