不管是JSP还是Servlet,都有获取相对路径或实际路径的方法,看一下API就知道了。

解决方案 »

  1.   

    在tomcat里面定义的docbase="c:\eclipse\workspace\bjca" 
    我要通过程序如何能得到这个docbase的值?如何取到以上的字符串?
      

  2.   

    //String hostdir = System.getProperty("user.dir"); 
    //System.out.println("hostdir:"+hostdir);
      

  3.   

    我用了String hostdir = System.getProperty("user.dir");
    可是得到的结果是c:\eclipse.不是c:\eclipse\workspace\bjca. 为什么???
      

  4.   

    别人通过user.dir都能得到应用程序的目录,而我只能得到所有应用程序所在的那个大目录。为什么??
      

  5.   

    如果classes在WEB-INF下面,那用../config.ini不就可以得到了文件吗?
      

  6.   

    你用eclipse当然是那个目录了,你在tomcat下面当然就可以了的
      

  7.   

    在eclipse下面就没有办法解决了吗??
      

  8.   

    eclipse是我们工程的目录的,你可以指定一下就可以了;其实我们在部属工程的时候,和那个不一样的!
    顺便问一下,tomcatDE的连接池没有那么麻烦吧,只要在配置文件里面写好就可以了。。你用的是那种方法的。。
      

  9.   

    转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)方法对进行配置信息读取了
    }
      

  10.   

    java.lang.String  getRealPath(java.lang.String path)
              Returns a String containing the real path for a given virtual path.
    这不是可以得到web程序配置在文件系统的哪个路径下面吗