2015-04-03 68 views
0

我已經做了幾次這個相同的項目,現在我一直在遇到這些404錯誤。我即將發佈的是一個非常簡單的應用程序。至少這次我收到錯誤。一個簡單的應用程序的另一個404錯誤:

控制檯輸出

Apr 03, 2015 4:08:55 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Spring_Practice_MVC' did not find a matching property. 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server version:  Apache Tomcat/8.0.15 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server built:   Nov 2 2014 19:25:20 UTC 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Server number:   8.0.15.0 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Name:    Mac OS X 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: OS Version:   10.10.2 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Architecture:   x86_64 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JAVA_HOME:    /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/jre 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Version:   1.8.0_31-b13 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: JVM Vendor:   Oracle Corporation 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_BASE:   /Users/DrewJocham/Documents/practice/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: CATALINA_HOME:   /Library/apache-tomcat-8.0.15 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.base=/Users/DrewJocham/Documents/practice/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dcatalina.home=/Library/apache-tomcat-8.0.15 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dwtp.deploy=/Users/DrewJocham/Documents/practice/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Djava.endorsed.dirs=/Library/apache-tomcat-8.0.15/endorsed 
Apr 03, 2015 4:08:55 PM org.apache.catalina.startup.VersionLoggerListener log 
INFO: Command line argument: -Dfile.encoding=UTF-8 
Apr 03, 2015 4:08:55 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /Users/DrewJocham/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:. 
Apr 03, 2015 4:08:56 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8080"] 
Apr 03, 2015 4:08:57 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Apr 03, 2015 4:08:57 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-nio-8009"] 
Apr 03, 2015 4:08:57 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Apr 03, 2015 4:08:57 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 4170 ms 
Apr 03, 2015 4:08:57 PM org.apache.catalina.core.StandardService startInternal 
INFO: Starting service Catalina 
Apr 03, 2015 4:08:57 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/8.0.15 
Apr 03, 2015 4:09:01 PM org.apache.catalina.core.ApplicationContext log 
INFO: No Spring WebApplicationInitializer types detected on classpath 
Apr 03, 2015 4:09:01 PM org.apache.catalina.core.ApplicationContext log 
INFO: Initializing Spring root WebApplicationContext 
Apr 03, 2015 4:09:01 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
INFO: Root WebApplicationContext: initialization started 
Apr 03, 2015 4:09:01 PM org.springframework.web.context.support.XmlWebApplicationContext prepareRefresh 
INFO: Refreshing Root WebApplicationContext: startup date [Fri Apr 03 16:09:01 CEST 2015]; root of context hierarchy 
Apr 03, 2015 4:09:01 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/offers-servlet.xml] 
Apr 03, 2015 4:09:01 PM org.springframework.web.context.ContextLoader initWebApplicationContext 
SEVERE: Context initialization failed 
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/offers-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/offers-servlet.xml] 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4772) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/offers-servlet.xml] 
    at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:141) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330) 
    ... 21 more 

Apr 03, 2015 4:09:01 PM org.apache.catalina.core.StandardContext listenerStart 
SEVERE: 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/offers-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/offers-servlet.xml] 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:344) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:181) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:217) 
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:188) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:125) 
    at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94) 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129) 
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4772) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5196) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/offers-servlet.xml] 
    at org.springframework.web.context.support.ServletContextResource.getInputStream(ServletContextResource.java:141) 
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330) 
    ... 21 more 

Apr 03, 2015 4:09:01 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Error listenerStart 
Apr 03, 2015 4:09:01 PM org.apache.catalina.core.StandardContext startInternal 
SEVERE: Context [/Spring_Practice_MVC] startup failed due to previous errors 
Apr 03, 2015 4:09:01 PM org.apache.catalina.core.ApplicationContext log 
INFO: Closing Spring root WebApplicationContext 
Apr 03, 2015 4:09:01 PM org.springframework.web.context.support.XmlWebApplicationContext doClose 
INFO: Closing Root WebApplicationContext: startup date [Fri Apr 03 16:09:01 CEST 2015]; root of context hierarchy 
Apr 03, 2015 4:09:01 PM org.springframework.web.context.support.XmlWebApplicationContext doClose 
WARNING: Exception thrown from ApplicationListener handling ContextClosedEvent 
java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: Root WebApplicationContext: startup date [Fri Apr 03 16:09:01 CEST 2015]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getApplicationEventMulticaster(AbstractApplicationContext.java:344) 
    at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:331) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:869) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4813) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5413) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 03, 2015 4:09:01 PM org.springframework.web.context.support.XmlWebApplicationContext doClose 
WARNING: Exception thrown from LifecycleProcessor on context close 
java.lang.IllegalStateException: LifecycleProcessor not initialized - call 'refresh' before invoking lifecycle methods via the context: Root WebApplicationContext: startup date [Fri Apr 03 16:09:01 CEST 2015]; root of context hierarchy 
    at org.springframework.context.support.AbstractApplicationContext.getLifecycleProcessor(AbstractApplicationContext.java:357) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:877) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4813) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5413) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 03, 2015 4:09:01 PM org.apache.catalina.core.StandardContext listenerStop 
SEVERE: Exception sending context destroyed event to listener instance of class org.springframework.web.context.ContextLoaderListener 
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext 
    at org.springframework.context.support.AbstractRefreshableApplicationContext.getBeanFactory(AbstractRefreshableApplicationContext.java:170) 
    at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:908) 
    at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:884) 
    at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:836) 
    at org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:579) 
    at org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:115) 
    at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4813) 
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5413) 
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:160) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 03, 2015 4:09:02 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["http-nio-8080"] 
Apr 03, 2015 4:09:02 PM org.apache.coyote.AbstractProtocol start 
INFO: Starting ProtocolHandler ["ajp-nio-8009"] 
Apr 03, 2015 4:09:02 PM org.apache.catalina.startup.Catalina start 
INFO: Server startup in 4514 ms 

URL

http://localhost:8080/Spring_Practice_MVC/ 

報價-servlet.xml中

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> 


    <mvc:annotation-driven></mvc:annotation-driven> 
    <context:component-scan base-package="com.learnspring.web.controllers"> 
    </context:component-scan> 

    <bean id="jspViewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/jsps/"></property> 
     <property name="suffix" value=".jsp"></property> 
    </bean> 
</beans> 

offersController

包com.learnspring.web.controllers;

import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

@Controller 
public class OffersController { 

    @RequestMapping("/") 
    public String showHome() { 
     return "home"; 
    } 

} 

的web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" 
version="3.0"> 

    <display-name>Spring_Practice_MVC</display-name> 
    <context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/offers-servlet.xml</param-value> 
    </context-param> 

<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 

    <servlet> 
    <description></description> 
    <display-name>offers</display-name> 
    <servlet-name>offers</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>offers</servlet-name> 
    <url-pattern>/</url-pattern> 
    </servlet-mapping> 
</web-app> 
+0

看起來像Spring不能加載你的'WEB-INF/offers-servlet.xml'。嘗試刪除前導斜槓? – 2015-04-03 14:41:23

回答

0

在你CONSOL日誌:

無法打開ServletContext的資源[/WEB-INF/offers-servlet.xml]

你應該檢查它是否部署在你的服務器上,並且它是否可讀

相關問題