WebService中如何在程序外部设置参数(Tomcat+Axis)

boodweb 2005-05-15 11:07:18

有些参数不想编译到程序里,想做一个配置文件什么的,程序从其中动态读入所需参数

但是发现配置文件的定位在Java里似乎不好做,本来想通过环境变量,然而Java1.4以后已经取消掉了那个得到系统环境变量函数,所以想问问大家有没有什么好办法

另外程序在win和linux平台都要能运行

谢谢
...全文
75 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
boodweb 2005-05-16
to usabcd:
显然写配置文件就是为了可以动态修改:)
3x,你的方法可以用

to jFresH_MaN:
你的方法也可以了,只是要在properties文件名前面加个斜杠,就可以在classes里找到这个文件了

觉得放到WEB-INF目录可能更好些
anyway, 谢谢两位的热心帮助!
  • 打赏
  • 举报
回复
usabcd 2005-05-16
如果你这个文件以后不需要更改的话,直接打进 jar包,用getResourceAsStream读取,
如果以后有可能需要修改,一般放到WEB-INF目录下。ServletContext读取。
Axis已经封装好了方法,直接可以获得文件路径:

MessageContext mc = MessageContext.getCurrentContext();
String configPath = mc.getStrProp(Constants.MC_CONFIGPATH);
  • 打赏
  • 举报
回复
boodweb 2005-05-15
1. 我是用的WebService,恐怕无法通过命令行指定参数
2. 我发布WebService的时候是将文件打包成jar发布的,测试发现getResourceAsStream的“当前目录”(即前面不指定任何路径时候)似乎不在axis的WEB-INF\classes文件夹下...
  • 打赏
  • 举报
回复
jFresH_MaN 2005-05-15
我觉得使用properties文件是非常好的啊
只要放在classes文件夹里面就可以使用getResourceAsStream来使用,没什么路径问题的。

如果还想简单一点可以在执行的时候的运行命令里传进参数
如:java -Dabc=cba XXX
代码里面通过这样来得到
String abc=System.getProperty("abc");
  • 打赏
  • 举报
回复
相关推荐
发帖
Java EE

6.7w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
帖子事件
创建了帖子
2005-05-15 11:07
社区公告
暂无公告