因为用户当前路径不是servlet所在的目录,而是tomcat/bin
你可以试试把db.properties放在tomcat/bin中去,然后程序中直接打开db.properties,不用加路径。
如果你还启动了apache,用户当前路径还会变,具体是什么我就不知道了

解决方案 »

  1.   

    谢谢frenzieddragon(FrenziedDragon) 
    放在tomcat/bin下是可以了,但是我把文件放在tomcat/下
    用"./db.properties"这样的相对路径就还是不行.是不是servlet中打开文件的流不支持相对路径呢.
      

  2.   

    放在tomcat/下应该是../db.properties吧
      

  3.   

    直接放在tomcat的目录下应该就可以了。tomcat/db.propertise
      

  4.   

    谢谢了.
    但是在应用程序中好像相对路径用的就是"."来表示上一级的目录,这我是测试过得.
    高不明白为什么在servlet里却用".."来表示呢.
      

  5.   

    在windows、unix、linux中都是用.表示当前目录,..表示上级目录啊
      

  6.   

    同意frenzieddragon(FrenziedDragon) 
    另,Servlet的运行容器是在Tomcat/bin目录下,所以在Servlet中的当前路径是该目录。
    servlet和Html是不一样的
    还有就是Application和servlet也是有区别的,Application类似于exe文件,而servlet需要特定的运行容器来解析
      

  7.   

    use the following code:
    InputStream in = request.getServletContext().getResourceAsStream("conf/db.properties");