在Glassfish, 小弟我的xml文件该放哪里
在Glassfish, 我的xml文件该放哪里?
在我的应用里,我想把一些常用的设置放到一个 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 http://www.rgagnon.com/javadetails/java-0076.html
把这段代码放到我的类里,运行的结果显示:
1)我的当前目录为: domain/domain1/config
2)当前的上级目录是: domain/domain1
呵呵,还真没想到我的应用的当前目录是 domain1/config 呢。现在把 myconfig.xml 复制到 domain1/config,重新编译和部署,就可以正确读取 xml 里的设置。
![在Glassfish, 小弟我的xml文件该放哪里 在Glassfish, 小弟我的xml文件该放哪里](/default/index/img?u=aHR0cDovL3d3dy5teWV4Y2VwdGlvbnMubmV0L2ltZy8yMDEyLzA5LzIzLzEzMzkwMjM5NzAuanBn)
:-
在我的应用里,我想把一些常用的设置放到一个 xml 文件,然后,在应用启动的时候,读取这些设置。
如果是一个桌面应用,就把 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 http://www.rgagnon.com/javadetails/java-0076.html
把这段代码放到我的类里,运行的结果显示:
1)我的当前目录为: domain/domain1/config
2)当前的上级目录是: domain/domain1
呵呵,还真没想到我的应用的当前目录是 domain1/config 呢。现在把 myconfig.xml 复制到 domain1/config,重新编译和部署,就可以正确读取 xml 里的设置。
:-