急: java servlet中如何获取servlet所在目录?
我用win2k+resin2.0.4做开发平台,在/resin/doc/WEB-INF/com/test/下有个test.class,web调用使用http://localhost:8080/servlet/com.test.test的URL
问题是,在test.class中才能知道我这个test.class在硬盘上的真实路径呢?
在我的w2k中,我做了一个Resin_HOME的环境变量,设为
E:\BIN\resin-2.0.4
在servlet中
java.io.File file= new java.io.File("123456789");
if(!file.exists())file.createNewFile();
结果我搜索硬盘上,这个1234356789的文件就生成在e:\BIN\resin-2.0.4
“JAVA2核心技术 卷I:基础知识”这本书java.io.File时讲,如果不指明路径,则文件使用当前路径,但我的测试却说明java servlet是以resin的路径为当前路径的,而不是我预期中的test.class所在的目录。
我现在做这个servlet的程序,每次启动的时候要去读一个配置文件,而这个配置文件的路径却需要在java编译时就写进程序里面去,这就带来程序移植的困难了
我想肯定有解决办法的,在asp中是用server.mappath()来获取的,java肯定也有!