SpringMVC (JavaWeb开发框架)
MVC三层架构:
模型(service,dao)
视图(jsp)
控制器(controller)
Model(数据模型):
提供要展示的数据,因此包含数据和行为,可以认为是领域模型或者javabean组件,不过现在一般都分离开来: valueObject(Dao层)和服务层(service),也就是提供了数据的查询和数据的更新,包含了主要的业务逻辑,保存了数据的状态
View(视图):
负责模型展示,也就是我们见到的界面
Controller(控制器):
接收请求,根据请求地址返回数据,主要是和前端界面对接,调用业务逻辑,转向指定页面,实现调度工作
MVC执行流程:
用户发送Request请求到DispatcherServlet前端控制器
前端控制器收到请求请求调用HandlerMapping(请求映射器)
HandlerMapping找到具体的控制器(可查找xml配置文件或注解配置),生成处理对象的执行链(如果有),在一起返回给DispatcherServlet
DispatcherServlet请求调用处理适配器HandlerAdapter
HandlerAdapter经过适配调用具体的Handler处理器(Controller)
Controller执行完返回具体的ModelAndview
HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet(前端控制器)
DispatcherServlet将ModelAndView传给ViewReslover(视图解析器)
ModelAndView解析完成后返回具体的View(视图)
DispatcherServlet通过view进行渲染,将模型数据填充到request域,也就是用户想看到的页面
响应用户
涉及组件:
DispatcherServlet前端控制器
HandlerMapping请求映射器
HandlerAdapter处理适配器
Handler处理器
ViewReslover视图解析器
view视图