#??后端# 7. Spring MVC

SpringMVC原理圖

描述:

  1. 用戶發(fā)送請求至前端控制器DispatcherServlet。
  2. DispatcherServlet收到請求調(diào)用HandlerMapping處理器映射器。
  3. HandlerMapping找到具體的處理器(可以根據(jù)xml配置.注解進(jìn)行查找),生成處理器對象及處理器攔截器(如果有則生成)一并返回給DispatcherServlet。
  4. DispatcherServlet調(diào)用HandlerAdapter處理器適配器。
  5. HandlerAdapter經(jīng)過適配調(diào)用具體的處理器(Controller,也叫后端控制器)。
  6. Controller執(zhí)行完成返回ModelAndView。
  7. HandlerAdapter將controller執(zhí)行結(jié)果ModelAndView返回給DispatcherServlet。
  8. DispatcherServlet將ModelAndView傳給ViewReslover視圖解析器。
  9. ViewReslover解析后返回具體View。
  10. DispatcherServlet根據(jù)View進(jìn)行渲染視圖(即將模型數(shù)據(jù)填充至視圖中)。
  11. DispatcherServlet響應(yīng)用戶。

Controller示例:

@Controller
@RequestMapping(value = "/Test/*")
public class TestController {
    @Resource
    private PersonInfoService personInfoService;

    @RequestMapping(value = "returnSuccess") 
    public String returnSuccess() {
        return "success";    //success.jsp
    }
    @RequestMapping(value = "getPersonInfo")
    public ModelAndView getPersonInfo(@RequestParam("id") int id) {

        PersonInfo personInfo = personInfoService.getPersonInfo(id); // 數(shù)據(jù)庫查詢
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("personInfo", personInfo);
        modelAndView.setViewName("personInfoView");  //personInfoView.jsp

        return modelAndView;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容