描述:
- 用户发送请求至前端控制器DispatcherServlet。
- DispatcherServlet收到请求调用HandlerMapping处理器映射器。
- HandlerMapping找到具体的处理器(可以根据xml配置.注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
- DispatcherServlet调用HandlerAdapter处理器适配器。
- HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
- Controller执行完成返回ModelAndView。
- HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
- ViewReslover解析后返回具体View。
- DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
- DispatcherServlet响应用户。
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); // 数据库查询
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("personInfo", personInfo);
modelAndView.setViewName("personInfoView"); //personInfoView.jsp
return modelAndView;
}
}