title: spring-mvc-project hello-world
body: <p>I use SpringSource Tool Suite sts to start a hello world example about MVC.</p>
  
  <blockquote>
    <p>File -> New -> Spring Template Project -> then choose Spring MVC Project</p>
  </blockquote>
  
  <p>I add Project Name: <code>helloworld</code>
  and specify the top-level package as <code>com.helloworld.myapp</code></p>
  
  <p>then finish.</p>
  
  <p>now I try to run the application and choose Run on Server
  and it always shows me the everlasting screen that says: The requested resource (<code>/helloworld/</code>) is not available.</p>
  
  <p>server shows the following: </p>
  
  <blockquote>
  <pre><code>Nov 30, 2011 4:06:53 PM com.springsource.tcserver.security.PropertyDecoder &lt;init&gt; INFO: tc
  </code></pre>
    
    <p>Runtime property decoder using memory-based key Nov 30, 2011 4:06:53
    PM com.springsource.tcserver.security.PropertyDecoder  INFO:
    tcServer Runtime property decoder has been initialized in 183 ms Nov
    30, 2011 4:06:53 PM org.apache.coyote.AbstractProtocol init INFO:
    Initializing ProtocolHandler ["http-bio-8080"] Nov 30, 2011 4:06:53 PM
    com.springsource.tcserver.serviceability.rmi.JmxSocketListener init
    INFO: Started up JMX registry on 127.0.0.1:6969 in 63 ms Nov 30, 2011
    4:06:53 PM org.apache.catalina.startup.Catalina load INFO:
    Initialization processed in 693 ms Nov 30, 2011 4:06:53 PM
    org.apache.catalina.core.StandardService startInternal INFO: Starting
    service Catalina Nov 30, 2011 4:06:53 PM
    org.apache.catalina.core.StandardEngine startInternal INFO: Starting
    Servlet Engine: VMware vFabric tc Runtime
    2.6.1.RELEASE/7.0.20.B.RELEASE Nov 30, 2011 4:06:53 PM org.apache.catalina.startup.HostConfig deployDescriptor INFO:
    Deploying configuration descriptor insight.xml from
    D:\springsource\vfabric-tc-server-developer-2.6.1.RELEASE\spring-insight-instance\conf\Catalina\localhost
    Nov 30, 2011 4:06:53 PM
    com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader
    start INFO: Context [localhost|insight] will not be woven Nov 30, 2011
    4:06:54 PM org.apache.catalina.core.ApplicationContext log INFO:
    Initializing Spring root WebApplicationContext Nov 30, 2011 4:07:04 PM
    org.apache.catalina.core.ApplicationContext log INFO: Initializing
    Spring FrameworkServlet 'Spring MVC Dispatcher Servlet' Nov 30, 2011
    4:07:06 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory manager Nov 30, 2011 4:07:06
    PM
    com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader
    start INFO: Context [localhost|manager] will not be woven Nov 30, 2011
    4:07:06 PM org.apache.catalina.startup.HostConfig deployDirectory
    INFO: Deploying web application directory ROOT Nov 30, 2011 4:07:06 PM
    com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader
    start INFO: Context [localhost|ROOT] will not be woven Nov 30, 2011
    4:07:06 PM org.apache.coyote.AbstractProtocol start INFO: Starting
    ProtocolHandler ["http-bio-8080"] Nov 30, 2011 4:07:06 PM
    org.apache.catalina.startup.Catalina start INFO: Server startup in
    12820 ms Nov 30, 2011 4:07:56 PM
    org.apache.catalina.startup.HostConfig deployDescriptor INFO:
    Deploying configuration descriptor EchoSpringMVC.xml from
    D:\springsource\vfabric-tc-server-developer-2.6.1.RELEASE\spring-insight-instance\conf\Catalina\localhost
    Nov 30, 2011 4:07:56 PM
    org.apache.catalina.startup.SetContextPropertiesRule begin WARNING:
    [SetContextPropertiesRule]{Context} Setting property 'source' to
    'org.eclipse.jst.jee.server:EchoSpringMVC' did not find a matching
    property. Nov 30, 2011 4:07:56 PM
    com.springsource.insight.collection.tcserver.ltw.TomcatWeavingInsightClassLoader
    start INFO: Context [localhost|EchoSpringMVC] will not be woven Nov
    30, 2011 4:07:56 PM org.apache.catalina.core.StandardContext
    listenerStart SEVERE: Exception sending context initialized event to
    listener instance of class
    org.springframework.web.context.ContextLoaderListener
    java.lang.NoClassDefFoundError: org/apache/log4j/Level    at
    org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)  at
    org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)  at
    org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112)
      at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275)
      at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)    at
    org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
      at
    org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
      at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
      at
    org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:191)
      at
    org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
      at
    org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
      at
    org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
      at
    org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
      at java.util.concurrent.FutureTask.run(FutureTask.java:166)     at
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
      at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
      at java.lang.Thread.run(Thread.java:722) Caused by:
    java.lang.ClassNotFoundException: org.apache.log4j.Level  at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678)
      at
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
      ... 18 more</p>
    
    <p>Nov 30, 2011 4:07:56 PM org.apache.catalina.core.StandardContext
    startInternal SEVERE: Error listenerStart Nov 30, 2011 4:07:56 PM
    org.apache.catalina.core.StandardContext startInternal SEVERE: Context
    [/EchoSpringMVC] startup failed due to previous errors Nov 30, 2011
    4:07:56 PM org.apache.catalina.core.ApplicationContext log INFO:
    Closing Spring root WebApplicationContext Nov 30, 2011 4:07:56 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.ExceptionInInitializerError     at
    org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:80)
      at
    org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4763)
      at
    org.apache.catalina.core.StandardContext$4.run(StandardContext.java:5473)
      at java.lang.Thread.run(Thread.java:722) Caused by:
    java.lang.IllegalStateException: org.slf4j.LoggerFactory could not be
    successfully initialized. See also
    <a href="http://www.slf4j.org/codes.html#unsuccessfulInit" rel="nofollow">http://www.slf4j.org/codes.html#unsuccessfulInit</a>  at
    org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:282)     at
    org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)     at
    org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
      at
    org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:131)
      at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:272)
      at
    org.springframework.web.context.ContextCleanupListener.(ContextCleanupListener.java:43)
      ... 4 more</p>
  </blockquote>
  
  <p>Where do I go wrong? 
  Please help.</p>