Spring Mvc是Spring 实现Mvc架构的一个Web框架,主要用于前后台交互 的框架,处理用户请求,并作出反应。
MVC框架结构
- Model(模型):对数据库、网络等的操作,应用程序的主体部分,所有的业务逻辑都应该写在这里
- View(试图):一般xml文件,js+html,接受用户的输入,显示处理结果
- Controller(控制):通常在activity,根据用户的输入,控制用户界面数据显示,更新model对象、
执行流程
- request 请求 Controller(控制器)
- Controller 请求Model(模型)进行处理
- 处理结果返回Controller(控制器)
- Controller 进行视图渲染,传到View(视图层)
Spring Mvc 执行流程
- request 请求 —> 前端控制器(dispatchServlet)
- 前端控制器(dispatchServlet)请求 —>HandleMapping(处理映射器)查找handler:根据注解,xml进行查找
- handleMapping(处理映射器)向dispatchServlet(前端控制器)返回handler
- dispatchServlet 请求 —>适配器去执行handler
- HandleAdapter (处理适配器)去执行handler—>完成
- 处理适配器(handleAdapter) 想前端处理器返回ModelAndView(SpringMvc) 的一个底层对象,包括,model和View
- 前端处理器(dispatchServlet)请求—>试图解析器(View reslver)去进行视图解析—>成为真正的视图
- 视图解析器(View resolver)向前端控制器返回View
- 前端控件进行渲染,并填充到request域,前端控制器向用户相应结果
主要组件
- 前端控制器(dispatchServlet):请求接受,响应结果,相当于转发器中央处理器,减少了组件之间的耦合度
- 处理映射器(handleMapping):根据请求,查找handler
- 处理适配器(handleAdapter):按照规则去执行handeler
- 处理器(Handler):编写的handler按照HandlerAdapter 要求去执行,使handleAdpter 去正确执行(程序员自己开发)
- 试图解析器(View resolver):进行视图解析,逻辑试图解析成真正的视图
- 视图(View):作为接口,实现类支持不同的View类型(jsp,freemarker/pdf)