I have PersonController as below :
@Controller @RequestMapping("person") public class PersonController { @RequestMapping(value= "/{personId}", method = RequestMethod.GET, produces={"application/json"}) public @ResponseBody Map<String, Object> getPerson(@PathVariable("personId") Integer personId) { // code to get person } Tomcat starts up fine, I see this in the console :
Mapped "{[/person/{personId}],methods=[GET],params=[],headers=[] ,consumes=[],produces=[application/json],custom=[]}" onto public java.util.Map<java.lang.String, java.lang.Object> com.test.web.controller.PersonController.getPerson(java.lang.Integer) But if I hit the url http://localhost:8080/sample/person/1 I get
HTTP Status 404 - /sample/person/1 In the web.xml
<servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/servlet-context.xml</param-value> </init-param--> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/sample/*</url-pattern> </servlet-mapping>