Data binding error in spring mvc -


i trying create simple form using form tag in spring mvc. there 1 field called uname passing user name.
in whole program , using java based annotations , no xml files, getting annoying error , don't know how fix it.

severe: neither bindingresult nor plain target object bean name 'user' available request attribute java.lang.illegalstateexception: neither bindingresult nor plain target object bean name 'user' available request attribute     @ org.springframework.web.servlet.support.bindstatus.<init>(bindstatus.java:144)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getbindstatus(abstractdataboundformelementtag.java:168)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getpropertypath(abstractdataboundformelementtag.java:188)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getname(abstractdataboundformelementtag.java:154)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.autogenerateid(abstractdataboundformelementtag.java:141)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.resolveid(abstractdataboundformelementtag.java:132)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.writedefaultattributes(abstractdataboundformelementtag.java:116)     @ org.springframework.web.servlet.tags.form.abstracthtmlelementtag.writedefaultattributes(abstracthtmlelementtag.java:422)     @ org.springframework.web.servlet.tags.form.inputtag.writetagcontent(inputtag.java:142)     @ org.springframework.web.servlet.tags.form.abstractformtag.dostarttaginternal(abstractformtag.java:84)     @ org.springframework.web.servlet.tags.requestcontextawaretag.dostarttag(requestcontextawaretag.java:80)     @ org.apache.jsp.home_jsp._jspx_meth_form_005finput_005f0(home_jsp.java:213)     @ org.apache.jsp.home_jsp._jspx_meth_form_005fform_005f0(home_jsp.java:177)     @ org.apache.jsp.home_jsp._jspservice(home_jsp.java:132)     @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70)     @ javax.servlet.http.httpservlet.service(httpservlet.java:729)     @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:438)     @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:396)     @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:340)     @ javax.servlet.http.httpservlet.service(httpservlet.java:729)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:292)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:207)     @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:240)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:207)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:212)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106)     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:141)     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79)     @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616)     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:522)     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1095)     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:672)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)     @ java.lang.thread.run(thread.java:745)  jun 07, 2016 1:56:33 org.apache.catalina.core.standardwrappervalve invoke severe: servlet.service() servlet [jsp] in context path [/first] threw exception [an exception occurred processing jsp page /home.jsp @ line 14  11: <body> 12: <form:form method="post" action="vv" commandname="user"> 13: name: 14: <form:input path="uname"/> 15: <input type="submit" value="login"/> 16:  17: </form:form>   stacktrace:] root cause java.lang.illegalstateexception: neither bindingresult nor plain target object bean name 'user' available request attribute     @ org.springframework.web.servlet.support.bindstatus.<init>(bindstatus.java:144)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getbindstatus(abstractdataboundformelementtag.java:168)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getpropertypath(abstractdataboundformelementtag.java:188)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.getname(abstractdataboundformelementtag.java:154)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.autogenerateid(abstractdataboundformelementtag.java:141)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.resolveid(abstractdataboundformelementtag.java:132)     @ org.springframework.web.servlet.tags.form.abstractdataboundformelementtag.writedefaultattributes(abstractdataboundformelementtag.java:116)     @ org.springframework.web.servlet.tags.form.abstracthtmlelementtag.writedefaultattributes(abstracthtmlelementtag.java:422)     @ org.springframework.web.servlet.tags.form.inputtag.writetagcontent(inputtag.java:142)     @ org.springframework.web.servlet.tags.form.abstractformtag.dostarttaginternal(abstractformtag.java:84)     @ org.springframework.web.servlet.tags.requestcontextawaretag.dostarttag(requestcontextawaretag.java:80)     @ org.apache.jsp.home_jsp._jspx_meth_form_005finput_005f0(home_jsp.java:213)     @ org.apache.jsp.home_jsp._jspx_meth_form_005fform_005f0(home_jsp.java:177)     @ org.apache.jsp.home_jsp._jspservice(home_jsp.java:132)     @ org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70)     @ javax.servlet.http.httpservlet.service(httpservlet.java:729)     @ org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:438)     @ org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:396)     @ org.apache.jasper.servlet.jspservlet.service(jspservlet.java:340)     @ javax.servlet.http.httpservlet.service(httpservlet.java:729)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:292)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:207)     @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:240)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:207)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:212)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106)     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:141)     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79)     @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:616)     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:522)     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1095)     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:672)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.dorun(nioendpoint.java:1500)     @ org.apache.tomcat.util.net.nioendpoint$socketprocessor.run(nioendpoint.java:1456)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1142)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:617)     @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61)     @ java.lang.thread.run(thread.java:745) 

home.jsp

%@ page language="java" contenttype="text/html; charset=iso-8859-1"     pageencoding="iso-8859-1"%> <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> <%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>  <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <title>insert title here</title> </head> <body> <form:form method="post" action="vv" commandname="user"> name: <form:input path="uname"/> <input type="submit" value="login"/>  </form:form> </body> </html> 

controller

package one;  import org.springframework.stereotype.controller; import org.springframework.ui.modelmap; import org.springframework.validation.bindingresult; import org.springframework.web.bind.annotation.modelattribute; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod;  @controller @requestmapping("vv") public class mainc {      @requestmapping(method=requestmethod.get)     public string pp(modelmap m)     {         user u=new user();         m.addattribute("user",u);         return "home";     }     @requestmapping(method=requestmethod.post)     public string pp1(@modelattribute("user") user user, bindingresult br)     {         if(user.getuname().length()!=0)         return "success";         else             return "failure";      }  } 

configuration

package one;  import org.springframework.context.annotation.bean; import org.springframework.context.annotation.componentscan; import org.springframework.context.annotation.configuration; import org.springframework.web.servlet.config.annotation.enablewebmvc; import org.springframework.web.servlet.view.internalresourceviewresolver;  @configuration @enablewebmvc @componentscan(basepackages={"one"}) public class conf {      @bean(name="viewresolver")     public internalresourceviewresolver ii()     {         internalresourceviewresolver i=new internalresourceviewresolver();         i.setprefix("/");         i.setsuffix(".jsp");         return i;     }  } 

initialiser

package one;  import javax.servlet.servletcontext; import javax.servlet.servletexception; import javax.servlet.servletregistration;  import org.springframework.web.webapplicationinitializer; import org.springframework.web.context.contextloaderlistener; import org.springframework.web.context.support.annotationconfigwebapplicationcontext; import org.springframework.web.servlet.dispatcherservlet;  public class webinit implements webapplicationinitializer {      @override     public void onstartup(servletcontext arg0) throws servletexception {         // todo auto-generated method stub          annotationconfigwebapplicationcontext cxt=new annotationconfigwebapplicationcontext();         cxt.register(conf.class);         arg0.addlistener(new contextloaderlistener(cxt));         servletregistration.dynamic srv=arg0.addservlet("helloweb", new dispatcherservlet(cxt));         srv.setloadonstartup(1);         srv.addmapping("/");       }  } 

user

package one;  public class user {      private string uname;       public void setuname(string uname) {         this.uname = uname;     }      public string getuname() {         return uname;     }  } 

the issue method providing blank bean object never getting executed. that's why error: plain target object bean name 'user' not available coming.

solution

add new jsp page -index.jsp home page application , in add 1 line in <body> <a href=home>home page</a>  , in controller class... @requestmapping("/home") public string pp(model m) { user u=new user(); m.addatribute("command",u); return "home"; }   solve issue.