Hello to all,
I am studing the Spring MVC showcase example downloaded from the STS dashboard.
I have a basic question for you:
In my home.jsp view I have two links, something like that:
So, in this example the first one is handled by a controller class named SimpleController and the second one is handled by a controller class named SimpleControllerRevisitedCode:<ul> <li> <a id="simpleLink" class="textLink" href="<c:url value="/simple" />">GET /simple</a> </li> <li> <a id="simpleRevisited" class="textLink" href="<c:url value="/simple/revisited" />">GET /simple/revisited</a> </li>
This is the code of SimpleController class:
As you can see the simple() method is annoted by @RequestMapping("/simple") annotation so it mean that this method handles request towards "/simple" folder. This method return a String to the caller and this string is encapsulated into the BODY section of the HTTP Response...ok it is very simple !!Code:package org.springframework.samples.mvc.simple; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class SimpleController { @RequestMapping("/simple") public @ResponseBody String simple() { return "Hello world!"; } }
Now this is the code of SimpleControllerRevisited
It is very similar to the previus SimpleController() method. It handles request towards "/simple/revisited" folder and return a string into the BODY of the HTTP ResponseCode:package org.springframework.samples.mvc.simple; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class SimpleControllerRevisited { @RequestMapping(value="/simple/revisited", method=RequestMethod.GET, headers="Accept=text/plain") public @ResponseBody String simple() { return "Hello world revisited!"; } }
what is the difference between these two methods?
When I do:
method=RequestMethod.GET I'm specifying that the HTTP Request type is a GET...but is it not the default HTTP Request? Also in the other method is a GET although it is not explicitly specified? Or what?
What do exactly the: headers="Accept=text/plain" parameter of the @RequestMapping annotation?
thank you very much
Andrea


Reply With Quote