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
Post a Comment