问题描述
- SSH框架 论MyEclipse10 下ContextLoaderListener 出现的问题
-
论SSH框架搭建完成后运行出现ContextLoaderListener的问题
错误提示:
Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/applicationContext.xml]
at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:117)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:328)
... 36 more
2015-6-30 22:51:56 org.apache.catalina.core.StandardContext start
严重: Error listenerStart显然表明 ,是applicationContext.xml 没被读取,可能原因是路径问题。但我这是
SSH框架配置好的,所导入的包,所写的配置,都是按照标准弄得,applicationContext.xml 是放在WEB-INF目录下的,通常不手动配置的话是在WEB-INF/classes下的,显然,我经过了手动配置。
其次,监听也就是web.xml里的没配置保证是没问题的。不解!!!为何报错!!还有,在applicationcontext.xml中,所手动写入的bean是没问题的。
最后 ,这个问题出的很奇怪,上午我运行的好好的,并未有任务异常,今天晚上再来运行,就出现了这个问题。郁闷中,运行了其他的项目试试,全出现了相同的问题,但我并未做任何的处理!!
推测 ,这不是项目中代码的问题,但仅仅只是推测。求解!这是为何???
请求各位前辈们指点!!
解决方案
参考:http://www.iteye.com/problems/98179
解决方案二:
再检查 web.mxl和web-info目录。注意大小写和文件名,看看编译后web-inf目录下是不是有applicationContext.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>
解决方案三:
我认为有两种可能:
1.jar冲突导致。
2.你的web.xml里的标签前多了j2ee
解决方案四:
这是web.xml里的内容!!!!SSH框架自动配置的,还有个监听是手写的。
<?xml version="1.0" encoding="UTF-8"?>
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
WEB-INF/applicationContext.xml
jsp/adminuser/login.jsp
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
解决方案五:
还有,我不认为是项目程序的问题,因为以前的课运行项目现在运行也出现同样的问题。把tomcat里的项目移除后,运行tomcat 还是一样的错误。
解决方案六:
jar包 冲突 看下你的三个框架里有没有相同的jar包 留下最新的 其余删掉
解决方案七:
是你的web.xml 里applicationContext.xml 路径写错了吧 仔细看错误信息 文件未发现异常
解决方案八:
Jar包冲突,有一个最省力的方法,用其他成功整合项目的lib替换掉现在的,我当时研究了很久都没解决,最后无奈只有这样做了