在SpringMVC中,控制器Controller負責處理由DispatcherServlet分發的請求,它把用戶請求的數據經過業務處理層處理之後封裝成一個Model ,然後再把該Model返回給對應的View進行展示。
在SpringMVC 中提供了一個非常簡便的定義Controller 的方法,你無需繼承特定的類或實現特定的接口,只需使用@Controller標記一個類是Controller,然後使用@RequestMapping和@RequestParam等一些註解用以定義URL 請求和Controller方法之間的映射,這樣的Controller就能被外界訪問到。此外Controller不會直接依賴於HttpServletRequest和HttpServletResponse等HttpServlet 對象,它們可以通過Controller的方法參數靈活的獲取到。
爲了先對Controller有一個初步的印象,以下先定義一個簡單的Controller:
@Controller
public class MyController {
@RequestMapping("/showView")
public ModelAndView showView() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("viewName");
modelAndView.addObject(" 需要放到 model 中的屬性名稱 ", " 對應的屬性值,它是一個對象 ");
return modelAndView;
}
}
在上面的示例中,@Controller是標記在類MyController上面的,所以類MyController就是一個SpringMVC Controller對象了,然後使用@RequestMapping(“/showView”)標記在Controller方法上,表示當請求/showView.do的時候訪問的是MyController的showView方法,該方法返回了一個包括Model和View的ModelAndView對象。