I am adding a JSP controller and page to a web service which has up until now been used to return JSON rest resources. At any rate I am getting 404 when accessing the jsp page and the logs are saying noHandlerFound even though my controller method is actually being invoked and returning a model and view.
I have spent most of the day trying to figure out what is happening here and am making 0 progress. Anyone got any ideas?
Here are logs generated during one of the failed requests:
Here is the code for the controller:
Here is the spring-servlet.xml:
I have spent most of the day trying to figure out what is happening here and am making 0 progress. Anyone got any ideas?
Here are logs generated during one of the failed requests:
Code:
2013-03-21 15:37:45,020 DEBUG org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:823) [http-bio-8080-exec-10] - DispatcherServlet with name 'spring' processing GET request for [/cool-matcher-service/jsp/importWadlWizard] 2013-03-21 15:37:45,020 DEBUG org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:219) [http-bio-8080-exec-10] - Looking up handler method for path /jsp/importWadlWizard 2013-03-21 15:37:45,021 DEBUG org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:226) [http-bio-8080-exec-10] - Returning handler method [public org.springframework.web.servlet.ModelAndView com.doitnext.cms.controller.JspController.handleImportWadlWizardGet(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws javax.servlet.ServletException,java.io.IOException] 2013-03-21 15:37:45,021 DEBUG org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:246) [http-bio-8080-exec-10] - Returning cached instance of singleton bean 'jspController' 2013-03-21 15:37:45,021 DEBUG org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:912) [http-bio-8080-exec-10] - Last-Modified value for [/cool-matcher-service/jsp/importWadlWizard] is: -1 2013-03-21 15:37:45,021 DEBUG com.doitnext.cms.controller.JspController.handleImportWadlWizardGet(JspController.java:27) [http-bio-8080-exec-10] - returning importWadlWizard 2013-03-21 15:37:45,022 DEBUG org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1206) [http-bio-8080-exec-10] - Rendering view [org.springframework.web.servlet.view.JstlView: name 'importWadlWizard'; URL [/WEB-INF/jsp/importWadlWizard.jsp]] in DispatcherServlet with name 'spring' 2013-03-21 15:37:45,022 DEBUG org.springframework.web.servlet.view.AbstractView.exposeModelAsRequestAttributes(AbstractView.java:373) [http-bio-8080-exec-10] - Added model object 'cms' of type [java.util.HashMap] to request in view with name 'importWadlWizard' 2013-03-21 15:37:45,022 DEBUG org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:236) [http-bio-8080-exec-10] - Forwarding to resource [/WEB-INF/jsp/importWadlWizard.jsp] in InternalResourceView 'importWadlWizard' 2013-03-21 15:37:45,022 DEBUG org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:823) [http-bio-8080-exec-10] - DispatcherServlet with name 'spring' processing GET request for [/cool-matcher-service/WEB-INF/jsp/importWadlWizard.jsp] 2013-03-21 15:37:45,023 DEBUG org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:219) [http-bio-8080-exec-10] - Looking up handler method for path /WEB-INF/jsp/importWadlWizard.jsp 2013-03-21 15:37:45,029 DEBUG org.springframework.web.servlet.handler.AbstractHandlerMethodMapping.getHandlerInternal(AbstractHandlerMethodMapping.java:229) [http-bio-8080-exec-10] - Did not find handler method for [/WEB-INF/jsp/importWadlWizard.jsp] 2013-03-21 15:37:45,030 WARN org.springframework.web.servlet.DispatcherServlet.noHandlerFound(DispatcherServlet.java:1108) [http-bio-8080-exec-10] - No mapping found for HTTP request with URI [/cool-matcher-service/WEB-INF/jsp/importWadlWizard.jsp] in DispatcherServlet with name 'spring' 2013-03-21 15:37:45,030 DEBUG org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) [http-bio-8080-exec-10] - Successfully completed request 2013-03-21 15:37:45,030 DEBUG org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) [http-bio-8080-exec-10] - Successfully completed request
Code:
import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.doitnext.cms.domain.AuthorizationInfo; @Controller @RequestMapping("/jsp") public class JspController { protected final Logger logger = Logger.getLogger(getClass()); @RequestMapping(value = "/importWadlWizard", method = RequestMethod.GET) public ModelAndView handleImportWadlWizardGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("returning importWadlWizard"); Map<String, Object> myModel = new HashMap<String, Object>(); AuthorizationInfo ai = (AuthorizationInfo) request.getAttribute(AuthorizationInfo.getAttributeKey()); myModel.put("authorizationInfo", ai); return new ModelAndView("importWadlWizard", "cms", myModel); } }
Code:
<?xml version="1.0" encoding="UTF-8"?> <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>Cool Matcher Service</display-name> <context-param> <param-name>webAppRootKey</param-name> <param-value>ft.cms.rest.root</param-value> </context-param> <context-param> <param-name>propfile</param-name> <param-value>cool-matcher-service.properties</param-value> </context-param> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
Code:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- Declare a view resolver --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" /> <property name="suffix" value=".jsp" /> </bean> </beans>
Comment