SpringMvc的工作流程
总的来说,将SpringMvc的工作流程分为六步
首先看图
1.用户向服务端发送请求,请求被前段控制器DispatchServlet捕获(DispatchServlet作用:接受请求,分发请求,相应结果)
2.DiapatchServlet解析Url,得到请求资源标识符,然后根据该Url调用HandlerMapping(作用:根据url查找处理器),返回处理器,并返回给前段控制器
3.前段控制器接受到请求转发给处理器适配器(作用:适配,找到处理器),找到处理器(处理业务逻辑等等),返回ModelAndView,并返回给前段控制器,
4.前段控制器根据返回的ModelAndView找到视图解析器(作用:根据视图解析器名称,生成视图对象),返回视图对象
5.前段控制器根据返回的视图对象找到视图(作用:视图渲染),再返回给前端控制器
6.前段控制器再把渲染的视图返回给用户
MVC(Model View Controller)是一种软件设计的框架模式,它采用模型(Model)-视图(View)-控制器(controller)的方法把业务逻辑、数据与界面显示分离。把众多的业务逻辑聚集到一个部件里面,当然这种比较官方的解释是不能让我们足够清晰的理解什么是MVC的。用通俗的话来讲,MVC的理念就是把数据处理、数据展示(界面)和程序/用户的交互三者分离开的一种编程模式。
注意!MVC不是设计模式!
MVC框架模式是一种复合模式,MVC的三个核心部件分别是
1:Model(模型):所有的用户数据、状态以及程序逻辑,独立于视图和控制器,对应代码就是返回具体的数据
2:View(视图):呈现模型,类似于Web程序中的界面,视图会从模型中拿到需要展现的状态以及数据,对于相同的数据可以有多种不同的显示形式(视图),对应代码就是html,jsp这些
3:Controller(控制器):负责获取用户的输入信息,进行解析并反馈给模型,通常情况下一个视图具有一个控制器,对应代码就是controller,servier,dao这些