如何用方法得到程序的web-inf的路径?急。 不管是JSP还是Servlet,都有获取相对路径或实际路径的方法,看一下API就知道了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在tomcat里面定义的docbase="c:\eclipse\workspace\bjca" 我要通过程序如何能得到这个docbase的值?如何取到以上的字符串? //String hostdir = System.getProperty("user.dir"); //System.out.println("hostdir:"+hostdir); 我用了String hostdir = System.getProperty("user.dir");可是得到的结果是c:\eclipse.不是c:\eclipse\workspace\bjca. 为什么??? 别人通过user.dir都能得到应用程序的目录,而我只能得到所有应用程序所在的那个大目录。为什么?? 如果classes在WEB-INF下面,那用../config.ini不就可以得到了文件吗? 你用eclipse当然是那个目录了,你在tomcat下面当然就可以了的 在eclipse下面就没有办法解决了吗?? eclipse是我们工程的目录的,你可以指定一下就可以了;其实我们在部属工程的时候,和那个不一样的!顺便问一下,tomcatDE的连接池没有那么麻烦吧,只要在配置文件里面写好就可以了。。你用的是那种方法的。。 转wjmmml (笑着悲伤)的文章给你,你再动手测测:+++++++++++++++++++++++++++++++++++++++++++++++++++++++=在开发过程中,我们经常会遇到读取配置文件的情况,对于配置文件的读取,根据环境等情况又各有不同,一般情况下,如果从非jar包中使用相对/路径,比较简单,就不在累述了,而在很多情况下,我们需要把我们的class打包成jar文件,进行使用,这时就会发现,我们先前如果没有考虑到这些,可能就行不通了,那么,该如何解决呢?方法如下:有如下路径 :Web-info--|-->classes--->conf-->config.properties |-->lib此时加入我们需要读取config.properties,在不使用jar包时,使用如下方式读取,不失为一种方法:File f = new File(this.getClass().getResource("/").getPath());f = new File(f.getPath() + "/conf/config.properties");注:f.getPath()即为当class所在的绝对路径。如:c:\javasrc\web-inf\classes然后,对文件对象进行处理,就能把配置信息读取出来了,但是加入如上class被打包成jar文件,那么,在程序执行到这里时,就会无法找到配置文件,那么该如何处理呢?处理方法如下:String s_config="conf/config.properties"; InputStream in = ClassLoader.getSystemResourceAsStream(s_config);if( in == null ){ System.out.println( " 打开 " + s_config + "失败!" );}else{Properties properties = new Properties();properties.load(in);////接下来就可以通过properties.getProperty(String obj)方法对进行配置信息读取了} java.lang.String getRealPath(java.lang.String path) Returns a String containing the real path for a given virtual path.这不是可以得到web程序配置在文件系统的哪个路径下面吗 关于Java开发的程序国际化的问题。 servlet与JSP传值的问题 求帮助,在学习hibernate时遇到的问题, struts2 包继承的问题 Java代码格式讨论 js读取xml出现的问题 请教一个ant的taskdef问题 请问这是出现了什么情况?? struts 遇上了这种错误怎么解决???? 如何实现动态调用EJB struts中配置mapping时如果要校验,必须配置input参数,有个大问题,请教大家了! Jbuilder 9 中编译struts 的问题?
我要通过程序如何能得到这个docbase的值?如何取到以上的字符串?
//System.out.println("hostdir:"+hostdir);
可是得到的结果是c:\eclipse.不是c:\eclipse\workspace\bjca. 为什么???
顺便问一下,tomcatDE的连接池没有那么麻烦吧,只要在配置文件里面写好就可以了。。你用的是那种方法的。。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++=
在开发过程中,我们经常会遇到读取配置文件的情况,对于配置文件的读取,根据环境等情况又各有不同,一般情况下,如果从非jar包中使用相对/路径,比较简单,就不在累述了,而在很多
情况下,我们需要把我们的class打包成jar文件,进行使用,这时就会发现,我们先前如果没有考虑到这些,可能就行不通了,那么,该如何解决呢?方法如下
:
有如下路径 :
Web-info--|-->classes--->conf-->config.properties
|-->lib
此时加入我们需要读取config.properties,在不使用jar包时,使用如下方式读取,不失为一种方法:
File f = new File(this.getClass().getResource("/").getPath());
f = new File(f.getPath() + "/conf/config.properties");
注:f.getPath()即为当class所在的绝对路径。如:c:\javasrc\web-inf\classes
然后,对文件对象进行处理,就能把配置信息读取出来了,但是加入如上class被打包成jar文件,那么,在程序执行到这里时,就会无法找到配置文件,那么该如何处理呢?
处理方法如下:
String s_config="conf/config.properties";
InputStream in = ClassLoader.getSystemResourceAsStream(s_config);
if( in == null ){
System.out.println( " 打开 " + s_config + "失败!" );
}else
{
Properties properties = new Properties();
properties.load(in);
//
//接下来就可以通过properties.getProperty(String obj)方法对进行配置信息读取了
}
Returns a String containing the real path for a given virtual path.
这不是可以得到web程序配置在文件系统的哪个路径下面吗