spring MVC HTTP 404 -


i'm beginner in spring mvc

i try show "hello world" il browser

but browser show http 404 -

my project structure :

springmvc      -> src             -> main                     -> java                           -> com                                 -> mkyong                                          -> commmon                                                   -> controller       -> webapp             -> web-inf                      -> pages 

i have helloworldcontroller.java in folder controller :

 package com.mkyong.common.controller;  import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse;  import org.springframework.web.servlet.modelandview; import org.springframework.web.servlet.mvc.abstractcontroller;  public class helloworldcontroller extends abstractcontroller {      @override     protected modelandview handlerequestinternal(httpservletrequest request,             httpservletresponse response) throws exception {          modelandview model = new modelandview("helloworldpage");         model.addobject("msg", "hello world");          return model;     }  } 

in pages have helloworldpage.jsp :

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <body>     <h1>spring mvc hello world example</h1>      <h2>${msg}</h2>  </body> </html> 

mvc-dispatcher-servlet.xml in web-inf :

<beans xmlns="http://www.springframework.org/schema/beans"     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">      <bean id="viewresolver"         class="org.springframework.web.servlet.view.internalresourceviewresolver">         <property name="prefix">             <value>/web-inf/pages/</value>         </property>         <property name="suffix">             <value>.jsp</value>         </property>     </bean>      <bean name="/welcome.htm"          class="com.mkyong.common.controller.helloworldcontroller" />  </beans> 

and finaly web.xml in web-inf :

<web-app id="webapp_id" version="2.4"     xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://java.sun.com/xml/ns/j2ee      http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">      <display-name>spring web mvc application</display-name>      <servlet>         <servlet-name>mvc-dispatcher</servlet-name>         <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>         <load-on-startup>1</load-on-startup>     </servlet>      <servlet-mapping>         <servlet-name>mvc-dispatcher</servlet-name>         <url-pattern>/*</url-pattern>     </servlet-mapping>      <context-param>         <param-name>contextconfiglocation</param-name>         <param-value>/web-inf/mvc-dispatcher-servlet.xml</param-value>     </context-param>      <listener>         <listener-class>org.springframework.web.context.contextloaderlistener</listener-class>     </listener>  </web-app> 

in mvc-dispatcher-servlet.xml file add following line

<bean id="handlermapping" class="org.springframework.web.servlet.handler.beannameurlhandlermapping"/> 

however recommend using newer way of using annotations creating mvc applications. cleaner.

see link http://static.springsource.org/spring/docs/3.0.x/reference/mvc.html#mvc-ann-controller


Comments