你把xml放在src下,会编译到bin目录下,如果你使用自己写的ant,也是到对应的目录下找就行了
ApplicationContext ctx = new FileSystemXmlApplicationContext("bin/applicationContext.xml");
发布后,你可以通过获得web-inf的路径,然后在和你的xml路径拼在一块.
建议用ClassPathXmlApplicationContext,用相对路径,xml放在src下是可以获得的(编译到bin目录),即使是在tomcat下.

解决方案 »

  1.   

    有点疑问
    放在src下应该编译到classes下阿
    还有如果把applicationContext放在src下,使用相对路径应该怎么写,
    ApplicationContext ctx = new ClassPathXmlApplicationContext("???????????");
    参数应该怎么写啊??
      

  2.   

    你 在用myeclipse创建applicationContext.xml时选择创建在web-inf下如D:\eclipse\ssh2\WebRoot\WEB-INF\applicationContext.xml是 创建后的 位置,ApplicationContext ctx = new FileSystemXmlApplicationContext("..\\webapps\\ssh2\\WEB-INF\\applicationContext.xml");这样得到
      

  3.   

    "..\\webapps\\ssh2\\WEB-INF\\applicationContext.xml"
    还是绝对路径阿
    有没有更好的办法?我用了servlet.getRealPath方法获得项目路径,可是WEB-INF/classes/applicationContext.xml
    还要自己加上去,我觉得挺傻的,应该还有好办法还有
    ClassPathXmlApplicationContext怎么用,是不是把applicationContext.xml放在classes里就行?还要不要配置别的?
    我把applicationContext.xml放在src下,发布以后不是在classes里吗?不是classpath吗?
    为什么
    ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    还是找不到?
      

  4.   

    解决了,用
    ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
    就可以了
    谢谢二位
      

  5.   

    ApplicationContext   ctx=new   ClassPathXmlApplicationContext( "applicationContext.xml "); 还要配置别的吗