在我的应用里,我想把一些常用的设置放到一个 xml 文件,然后,在应用启动的时候,读取这些设置。
如果是一个桌面应用,就把 xml 放在 jar 相同的目录。但是,如果是 web 项目呢?
我的设置文件 myconfig.xml 很简单:
在我的 web应用 项目里,有一个 class 来读取这个 myconfig.xml:
开始的时候,我是把 myconfig.xml 放到与 index.jsp 一起的 /web 目录,编译部署后发现不能读取到 xml 的设置。然后尝试把 myconfig.xml 放在该项目的其他地方,也试过把它放到 /domain/domain1/docroot 等等,都不能读到 xml 的数据。
在网上乱搜,找到一段代码:Get the current directory [url]http://www.rgagnon.com/javadetails/java-0076.html[/url]
把这段代码放到我的类里,运行的结果显示:
1)我的当前目录为: domain/domain1/config
2)当前的上级目录是: domain/domain1
呵呵,还真没想到我的应用的当前目录是 domain1/config 呢。现在把 myconfig.xml 复制到 domain1/config,重新编译和部署,就可以正确读取 xml 里的设置。
[img]http://dl.iteye.com/upload/attachment/274568/0f2bd7af-5513-340a-90b3-1ebbac0a0505.jpg[/img]
:-
如果是一个桌面应用,就把 xml 放在 jar 相同的目录。但是,如果是 web 项目呢?
我的设置文件 myconfig.xml 很简单:
<?xml version="1.0" encoding="UTF-8"?>
<Mysysteminfo>
<AppServer>
<HostIpAddr>192.168.11.6</HostIpAddr>
<HostPort>8080</HostPort>
<AppRoot>BulaUser1-war</AppRoot>
<AppScheme>http</AppScheme>
</AppServer>
</Mysysteminfo>
在我的 web应用 项目里,有一个 class 来读取这个 myconfig.xml:
public class AppsvrTest {
public static void main(String args[]) {
AppsvrParser readSvr = new AppsvrParser();
List<Appsvr> SvrConfig = readSvr.readConfig("myconfig.xml");
for (Appsvr appsvr : SvrConfig) {
System.out.println(appsvr.getAppscheme());
System.out.println(appsvr.getHostipaddr());
System.out.println(appsvr.getHostport());
System.out.println(appsvr.getApproot());
}
}
}
开始的时候,我是把 myconfig.xml 放到与 index.jsp 一起的 /web 目录,编译部署后发现不能读取到 xml 的设置。然后尝试把 myconfig.xml 放在该项目的其他地方,也试过把它放到 /domain/domain1/docroot 等等,都不能读到 xml 的数据。
在网上乱搜,找到一段代码:Get the current directory [url]http://www.rgagnon.com/javadetails/java-0076.html[/url]
把这段代码放到我的类里,运行的结果显示:
1)我的当前目录为: domain/domain1/config
2)当前的上级目录是: domain/domain1
呵呵,还真没想到我的应用的当前目录是 domain1/config 呢。现在把 myconfig.xml 复制到 domain1/config,重新编译和部署,就可以正确读取 xml 里的设置。
[img]http://dl.iteye.com/upload/attachment/274568/0f2bd7af-5513-340a-90b3-1ebbac0a0505.jpg[/img]
:-