这和classLoader加载顺序有关
又两个解决办法
第一:
    在startup.bat文件把你的配置文件路径放在classpath里
  set classpath=你的文件路径第二:   在调用该配置文件的处理类时通过当前线程方法加载
一般第一种居多

解决方案 »

  1.   

    用jpad写的时候是因为当前的路径为默认的类路径,所以可以
    对于web  container来讲类的加载级别不一样,加载顺序不同
      

  2.   

    File ProFile=new File(“db.properties");
    应该是路径出问题了!试一下用绝对路径吧!
    如果db.properties放在c盘下就用才c:\db.properties.
      

  3.   

    是路径的问题,试试这个。
            
            private static String propsName="/db.properties";        private Properties loadProps()
            {
                    Properties prop = new Properties();
                    InputStream in = null;
                     try
                    {
                            in = getClass().getResourceAsStream(propsName);
                            prop.load(in);
                    }
                    catch (Exception e)
                    {
                            prop = null;
                            System.out.println("无法打开配置文件 - " + m_propsName);
                            e.printStackTrace();
                    }
                    finally
                    {
                            try
                            {
                                in.close();
                            }
                            catch (Exception e)
                            {
                            }
                    }
                    return prop;
        }
    所文件db.properties放在WEB-INF/classes目录下就行了。
    希望对你能有些帮助。