1.什么是MVC MVC是Model View Controller的缩写,它是一个设计模式
Model(模型)表示应用程序核心(比如数据库记录列表)。
View(视图)显示数据(数据库记录)。
Controller(控制器)处理输入(写入数据库记录)。
2.springmvc执行流程详细介绍
第一步:客户端发起请求到前端控制器(DispatcherServlet)
第二步:前端控制器根据xxx-servlet.xml配置信息,来调度HandlerMapping查找 Handler(controller)
可以根据xml配置、注解进行查找
第三步:映射处理器HandlerMapping向前端控制器返回Handler(controller)
第四步:前端控制器DispatcherServlet调用适配处理器HandlerAdaptor去执行Handler(controller)
第五步:适配处理器HandlerAdaptor去执行Handler(controller)
第六步:Handler执行完成给适配处理器HandlerAdaptor返回ModelAndView
Handler(controller)执行处理业务逻辑,访问数据库等操作,需要开发人员开发。
第七步:适配处理器HandlerAdaptor向前端控制器DispatcherServlet返回ModelAndView
ModelAndView是springmvc框架的一个底层对象,包括Model和view
第八步:前端控制器DispatcherServlet请求视图解析器ViewResolver去进行视图解析
根据逻辑视图名解析成真正的视图(jsp)
第九步:视图解析器ViewResolver向前端控制器DispatcherServlet返回View
第十步:前端控制器DispatcherServlet进行视图渲染
视图渲染将模型数据(在ModelAndView对象中)填充到request域
第十一步:前端控制器DispatcherServlet向用户响应结果
3.springmvc执行流程(这个解释更详细)
- 用户请求发送到前端控制器DispatcherServlet。
- 前端控制器DispatcherServlet接收到请求后,DispatcherServlet会使用HandlerMapping来处理,HandlerMapping会查找到具体进行处理请求的Handler对象。
- HandlerMapping找到对应的Handler之后,并不是返回一个Handler原始对象,而是一个Handler执行链,在这个执行链中包括了拦截器和处理请求的Handler。HandlerMapping返回一个执行链给DispatcherServlet。
- DispatcherServlet接收到执行链之后,会调用Handler适配器去执行Handler。
- Handler适配器执行完成Handler(也就是我们写的Controller)之后会得到一个ModelAndView,并返回给DispatcherServlet。
- DispatcherServlet接收到Handler适配器返回的ModelAndView之后,会根据其中的视图名调用视图解析器。
- 视图解析器根据逻辑视图名解析成一个真正的View视图,并返回给DispatcherServlet。
- DispatcherServlet接收到视图之后,会根据上面的ModelAndView中的model来进行视图渲染完成之后,DispatcherServlet就可以将结果返回给用户了。