title: What is the point of MultiActionController?
body: <p>I came across <code>MultiActionController</code> today, and I'm not sure I understand what it is used for... on the Spring <a href="http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/web/servlet/mvc/multiaction/MultiActionController.html" rel="nofollow">documentation</a>, it says </p>
  
  <blockquote>
    <p>Controller implementation that allows multiple request types to be handled by the same class. Subclasses of this class can handle several different types of request with methods of the form </p>
  </blockquote>
  
  <p>On another <a href="http://www.goospoos.com/2009/11/spring-multiactioncontroller-example/" rel="nofollow">site</a>, they said</p>
  
  <blockquote>
    <p>It aggregates multiple request handling methods into single controller, so related functionality can be kept together easily.</p>
  </blockquote>
  
  <p>I'm still not understanding how is extending <code>MultiActionController</code> better or different than the following?  Or is <code>MultiActionController</code> more a legacy from older versions of Spring?  I feel I have some basic misunderstanding...</p>
  
  <pre><code>@Controller
  public class MyController {
  
      @RequestMapping("/SomePage.html")
      public ModelAndView epdReview(
          @RequestParam(value="sessionID", required=true) String sessionId,
          MyFormData form,
          HttpSession session,
              HttpServletRequest request){
          //....
      }
  
      @RequestMapping(value = "/newData.json", method = RequestMethod.POST)
      public @ResponseBody ValidationResponse process(Model model,
          @Valid SomeData formData, BindingResult result,
          HttpSession session) {
          //....
      }
  }
  </code></pre>