java - Spring MVC Mapping problem -
i have thought simple spring mvc app. however, can seem set requestmappings correctly. what's strange logs show url mapped proper controller, yet dispatcher cant seem find @ runtime. suggestions appreciated:
log
info: mapped url path [/app/index] onto handler [com.noisyair.whatisayis.web.maincontroller@420a52f] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.handler.abstracturlhandlermapping registerhandler info: mapped url path [/app/index.*] onto handler [com.noisyair.whatisayis.web.maincontroller@420a52f] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.handler.abstracturlhandlermapping registerhandler info: mapped url path [/app/index/] onto handler [com.noisyair.whatisayis.web.maincontroller@420a52f] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.handler.abstracturlhandlermapping registerhandler info: mapped url path [/app/tags/{tag}] onto handler [com.noisyair.whatisayis.web.searchbytagcontroller@7b3cb2c6] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.handler.abstracturlhandlermapping registerhandler info: mapped url path [/app/tags/{tag}.*] onto handler [com.noisyair.whatisayis.web.searchbytagcontroller@7b3cb2c6] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.handler.abstracturlhandlermapping registerhandler info: mapped url path [/app/tags/{tag}/] onto handler [com.noisyair.whatisayis.web.searchbytagcontroller@7b3cb2c6] jan 11, 2010 2:14:21 pm org.springframework.web.servlet.frameworkservlet initservletbean info: frameworkservlet 'wisi': initialization completed in 237 ms jan 11, 2010 2:14:21 pm org.apache.catalina.core.standardcontext start info: container org.apache.catalina.core.containerbase.[catalina].[localhost].[/] has been started jan 11, 2010 2:14:41 pm org.springframework.web.servlet.dispatcherservlet nohandlerfound warning: no mapping found http request uri [/app/index] in dispatcherservlet name 'wisi'
web.xml file
<listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener> <!-- spring mvc framework handles of stuff. pass along --> <servlet> <servlet-name>wisi</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>wisi</servlet-name> <url-pattern>/app/*</url-pattern> </servlet-mapping>
controller class:
@controller public class maincontroller { @autowired private learningentryservice learningentryservice; public learningentryservice getlearningentryservice() { return learningentryservice; } public void setlearningentryservice(learningentryservice learningentryservice) { this.learningentryservice = learningentryservice; } @requestmapping(value = "/app/index", method = requestmethod.get) public modelandview sayhello(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { map<string, object> model = new hashmap<string, object>(); list<learningentry> le = learningentryservice.getlearningentries(); model.put("learningentries", le); return new modelandview("main", model); } }
you shouldn't duplicate "/app" in both @requestmapping
, <url-pattern>
. is, sayhello
mapped "/app/app/index". can write
@requestmapping(value = "/index", method = requestmethod.get)
(or can declare defaultannotationhandlermapping
bean in config , set allwaysusefullpath
property true
override default behavior)
Comments
Post a Comment