日期:2014-05-17  浏览次数:20770 次

自定义配置文件,路径问题?还有自己的思路问题,请给指个思路方向对错
自己这个自定义文件比较简单,放在src下面的com.nyohh.svn.config包里

也参考了部分资料弄明白:
src下com.nyohh.svn.config包下面的filePath.xml会在编译时候自动放到如下目录
WebRoot\WEB-INF\classes\com\nyohh\svn\config\filePath.xml

现在还多明白一点,运行时服务器读的是WebRoot\WEB-INF\classes\com\nyohh\svn\config\filePath.xml这个文件




我的这个web因为要调用外面一个exe文件,所以在这个文件需要写入硬盘相应的路径。
现在暂拟定是windows环境,我做了个表单,给后台管理人员写上文件路径,提交给服务端写入配置文件。

这里就是我的问题了:

我想先写入配置文件,进而需要该路径时候再读取该文件。(IO类,已经写好)
现在问题是:我自己觉得先写入包下面的filePath.xml,但是读取时候服务器读的是classes下面的那个文件,显然服务器起来后,是不会再给编译一次的吧?!!!

要是直接写classes下面的那个文件,真心话:1、我找不着它;2、我觉得下次一编译又成空文件了,WEB管理员不会二到每次开服务器都填写一下配置吧。





========================================================================
好吧,现在说初衷:好多年前只会用的时候看到一些站点上传到服务器后,第一次登陆管理员时会叫配置一些基本信息(就是下一步,下一步,完成,那类的表单)
自己这个练手项目刚好也用到外部文件了,就先在ssh项目里面写一个Action,然后检测标志是否为true(true代表初始化过)
如果false就把页面转到初始化JSP表单页,填写几个文件的路径,然后提交给Action2,写入配置文件。
如果true就把页面转向到更新Jsp表单页...........

现在就卡在写入配置文件那里,相当于运行期更改运行文件,自己有点晕。



因为自己发觉连tomcat的配置都是没启动前修改配置文件,而不能边通过表单修改自己的配置文件,同时加载效果,自己这个思路方向好像不对,但是又觉得这个似乎和服务器不是很大关系,因为触发的是2个IO操作,每次都是直接读文件的。
------解决方案--------------------
Thread.currentThread().getContextClassLoader().getResource("/").getPath(); 
可以拿到web工程中WEB-INF/classes 路径。
服务器启动时,classes文件不会再编译了吧。
------解决方案--------------------
String path = Test.class.getResource("/").toString();    
这个也可以拿到,不过有些容器不好使 参看 java代码中获取classpath路径