I'm trying to create my first Spring MVC application but when i tried to run project on server(Tomcat 7) fault appears in my browser Http Status 404 (here is link on the fault screen). Could you tell me where is the mistake? You can see the most important files below. Here is the link for the complete project https://github.com/tommiCZE/SpringMVCSampleApp/tree/master/SpringMVCSampleApp.
Console output:
IV 06, 2014 4:15:39 ODP. org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_10\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Common Files\Acronis\SnapAPI\;D:\Programy\Qt\4.8.4\\bin;C:\Program Files\Java\jdk1.7.0_51\bin;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;C:\Program Files\apache-maven-3.2.1\bin;C:\Program Files\Java\jdk1.7.0_10\bin;.
IV 06, 2014 4:15:39 ODP. org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:SpringMVCSampleApp' did not find a matching property.
IV 06, 2014 4:15:39 ODP. org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
IV 06, 2014 4:15:39 ODP. org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
IV 06, 2014 4:15:39 ODP. org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 552 ms
IV 06, 2014 4:15:39 ODP. org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
IV 06, 2014 4:15:39 ODP. org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
IV 06, 2014 4:15:39 ODP. org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [174] milliseconds.
IV 06, 2014 4:15:40 ODP. org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath
IV 06, 2014 4:15:40 ODP. org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
IV 06, 2014 4:15:40 ODP. org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
IV 06, 2014 4:15:40 ODP. org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing Root WebApplicationContext: startup date [Sun Apr 06 16:15:40 CEST 2014]; root of context hierarchy
IV 06, 2014 4:15:40 ODP. org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/view-resolver-servlet.xml]
IV 06, 2014 4:15:41 ODP. org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization completed in 347 ms
IV 06, 2014 4:15:41 ODP. org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring FrameworkServlet 'view-resolver'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'view-resolver': initialization started
IV 06, 2014 4:15:41 ODP. org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing WebApplicationContext for namespace 'view-resolver-servlet': startup date [Sun Apr 06 16:15:41 CEST 2014]; parent: Root WebApplicationContext
IV 06, 2014 4:15:41 ODP. org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/view-resolver-servlet.xml]
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Print/{arg}] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Print/{arg}.*] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Print/{arg}/] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Test] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Test.*] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.handler.AbstractUrlHandlerMapping registerHandler
INFO: Mapped URL path [//Test/] onto handler 'applicationController'
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.FrameworkServlet initServletBean
INFO: FrameworkServlet 'view-resolver': initialization completed in 234 ms
IV 06, 2014 4:15:41 ODP. org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]
IV 06, 2014 4:15:41 ODP. org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
IV 06, 2014 4:15:41 ODP. org.apache.catalina.startup.Catalina start
INFO: Server startup in 1839 ms
IV 06, 2014 4:15:41 ODP. org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/SpringMVCSampleApp/] in DispatcherServlet with name 'view-resolver'
IV 06, 2014 6:37:57 ODP. org.springframework.web.servlet.DispatcherServlet noHandlerFound
WARNING: No mapping found for HTTP request with URI [/SpringMVCSampleApp/] in DispatcherServlet with name 'view-resolver'
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" version="3.0">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>view-resolver</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>view-resolver</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/view-resolver-servlet.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
view-resolver-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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<context:component-scan base-package="cz.tommi.controller" />
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
ApplicationController.java
package cz.tommi.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/")
public class ApplicationController {
@RequestMapping(value="/Test", method = RequestMethod.GET)
public String welcome(ModelMap model) {
model.addAttribute("msgArgument", "Maven Java Web Application Project: Success!");
return "index";
}
@RequestMapping(value="/Print/{arg}", method = RequestMethod.GET)
public String welcomeName(@PathVariable String arg, ModelMap model) {
model.addAttribute("msgArgument", "Maven Java Web Application Project, input variable: " + arg);
return "index";
}
}