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

boodweb 2005-05-15 11:07:18

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

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

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

谢谢
...全文
110 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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");

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧