由于某种原因(一个shiro过滤器)我将我的应用程序上下文文件保存在WEB-INF文件夹中。当我运行Tomcat一切正常,但是,当我尝试使用,以获得从控制器的应用程序上下文:applicationContext类路径找不到
context = new ClassPathXmlApplicationContext(fileContext);
我总是收到此异常:
IOException parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be opened because it does not exist
看来,下ecplise我不能够在类路径下包含WEB-INF。我在这里看到了很多问题,但我还没有找到解决方案。
如果我移动src/main/java文件夹下的applicationContext.xml文件,我可以获取上下文,但定义到web.xml文件中的shiro filder无法看到在applicationContext下定义的shiro bean文件(我双重检查,并且bean正确工作)。我如何告诉web.xml从src/main/java获取内容?或者,如何才能访问applicationContext.xml
为什么你想要从你的控制器内部创建一个**新的** ApplicationContext?改为使用现有的自动装配。 – 2013-04-10 20:57:01
尝试使用@Autowired私有静态ApplicationContext上下文;但它始终为空。 – 2013-04-10 21:05:15
试试这个:http://stackoverflow.com/questions/4914012/how-to-inject-applicationcontext-itself。另外,不要把它变成静态的。 – 2013-04-10 21:08:56