ApplicationContext factory = new FileSystemXmlApplicationContext(System.getProperty("user.dir") + "/WebRoot/WEB-INF/applicationContext.xml");

解决方案 »

  1.   

    web项目要发布到服务器中才能访问啊!所以程序要在TOMCAT下找applicationContext.xml!
      

  2.   

    路径改下WebRoot/WEB-INF/applicationContext.xml 改成WEB-INF/applicationContext.xml 试下,
      

  3.   

    FileSystemXmlApplicationContext只有写上全路径才可以,但部署时全路径是不行的。
    如果用ClassPathXmlApplicationContext 只能读classes目录下,
    但我的配置文件在WEB-INF下,到底该怎么访问才行啊 
    我是这么配置TOMCAT的
    <Service name="DbService">
          
        。。  
      
        <Engine name="DbService" defaultHost="localhost">  
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>  
          <Host name="localhost" appBase="DbService"   unpackWARs="true" autoDeploy="true"   xmlValidation="false" xmlNamespaceAware="false">   
    <Context path="/" docBase="D:/Workspaces/DbService/WebRoot/" debug="0" reloadable="true"/>
          </Host> 
        </Engine> 
      
    </Service> 
      

  4.   


    我是这么配置TOMCAT的
    <Service name="DbService">
          
        。。  
      
        <Engine name="DbService" defaultHost="localhost">  
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  resourceName="UserDatabase"/>  
          <Host name="localhost" appBase="DbService"   unpackWARs="true" autoDeploy="true"   xmlValidation="false" xmlNamespaceAware="false">   
    <Context path="/" docBase="D:/Workspaces/DbService/WebRoot/" debug="0" reloadable="true"/>
          </Host> 
        </Engine> 
      
    </Service> 
    ApplicationContext factory = new FileSystemXmlApplicationContext("WebRoot/WEB-INF/applicationContext.xml");
    这样写是相对目录!相对的是tomcat的运行目录! 也就是这个目录C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin
    那你就看看你的配置文件相对这个目录怎么找!不过要是在项目目录下D:/Workspaces/DbService/WebRoot/的话那就麻烦了得半天!直接把配置文件拷贝到C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin得了

    或者直接使用ClassPathXmlApplicationContext加载!把配置文件拷到源文件目录下!