spring mvc view not rendered -


i'm beginner in spring mvc , trying create basic web app flow. have result.jsp clicking on submit should render submit.jsp. can see controller invoked view submit.jsp not being rendered. gives me http 404 status error no logs in tomcat. can please me figure out went wrong here.

i observe when running app, being directed to
testspring/ see result.jsp. rather expected be
testspring/result.jsp on running app. please pardon ignorance.

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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemalocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="webapp_id" version="2.5">     <display-name>testspring</display-name>     <servlet>         <servlet-name>frontcontrol</servlet-name>         <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class>         <load-on-startup>1</load-on-startup>     </servlet>     <servlet-mapping>         <servlet-name>frontcontrol</servlet-name>         <url-pattern>/</url-pattern>     </servlet-mapping> </web-app> 

frontcontrol-servlet.xml

<context:component-scan base-package ="com.shell.spring.testspringapp"> </context:component-scan>  <bean id ="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver">      <property name="prefix" value="/web-inf/jsp/" />     <property name="suffix" value=".jsp" />       </bean> 

controller class- frontcontrol

@controller public class firstcontrol {      @requestmapping(value="/")     public modelandview invokeme(model m) {          modelandview mav=new modelandview();         mav.setviewname("result");         system.out.println("in invoke me method");         return mav;     }      @requestmapping(value="/submit" ,method=requestmethod.get)     public string submit(model m) {         system.out.println("in submitmethod");         return "submit";     } } 

as mentioned in comments - yo should update web.xml maps * through servlet:

<servlet-mapping>     <servlet-name>frontcontrol</servlet-name>     <url-pattern>*</url-pattern> </servlet-mapping> 

you can adjust later if want limit available mappings, now.

after that, need see result.jsp (my understanding question page renders ok when hit root of webapp, controller call & view roking ok). however, educated guess things can check:

  • what url on button pressing? relative? e.g. "submit" or "/submit" - latter cut out app context. example, if app root of app http://localhost:8080/testspring using url /submit direct http://localhost:8080/submit - not hitting spring app , 404 straight away
  • what element submit button? button or href? if button, method using? needs match method on controller - on controller matching against get requests url submit - if button posting method won't hit.

to answer final point - yes, render testspring/ rather testspring/result.jsp - because using mvc framework , not hitting files on system - e.g. request has hit root url (/) handled controller in turn renders view - view 1 jsp or made of several files (using tiles etc) or else - not "hitting" jsp directly, rather jsp being used controller when serving path "/"


Comments

Popular posts from this blog

java - Run spring boot application error: Cannot instantiate interface org.springframework.context.ApplicationListener -

reactjs - React router and this.props.children - how to pass state to this.props.children -

Excel VBA "Microsoft Windows Common Controls 6.0 (SP6)" Location Changes -