MVC 设计模式
- MVC(Model-View-Controller)把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这样一个应用被分成三层:模型层、视图层、控制层。
- MVC 设计模式是一种目前广泛流行的软件设计模式。无论选择哪种语言,无论应用多复杂,MVC 为构造产品提供清晰的设计框架,为软件工程提供规范的依据,
- MVC 设计模式把应用程序分成三层:视图层(V)、控制层(C)、模型层(M)。
1.View
- 在 Java Web 应用程序中,View 部分一般使用 JSP 和 HTML 构建。客户在 View 部分提交请求,控制器获取请求后调用相应的业务模块进行处理,然后把处理结果返回给 View 部分显示出来。因此,View 部分也是 Web 应用程序的用户界面。
2.Controller
- Controller 部分一般由 Servlet 组成。当用户请求从 View 部分传过来时,Controller 调用相应的业务逻辑组件处理;请求处理完成后,Controller 根据处理结果转发给适当的 View 组件显示。因此,Controller 在视图层与业务逻辑层之间起到了桥梁作用,控制了他们两者之间的数据流向。
3.Model
- Model 部分包括业务逻辑层和数据库访问层。在 Java Web 应用程序中,业务逻辑层一般由 JavaBean 或 EJB 构建。EJB 是 Java EE 的核心组件,可以构建分布式应用系统。与普通 JavaBean 不同,它由两个接口或一个实现类组成,并且包含一些固有的用于控制容器生命周期的方法。
- MVC 设计模式使模型、视图与控制器分离,这样一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其他依赖这些数据的视图都应反映这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,使显示得到及时更新。MVC 设计模式的工作原理如图所示:
- MVC 设计模式的工作流程如下:
- 用户的请求提交给控制器
- 控制器接收到用户请求后根据用户的具体需求,调用相应的 JavaBean 或者 EJB(M部分) 来处理用户的请求
- 控制器调用M处理完数据后,根据处理结果进行下一步的跳转,如跳转到另外一个页面或者其他Servlet