猿教程 Logo

Model1和Model2 (mvc) 体系结构

在开发Web应用程序之前,我们需要了解设计模型。 有两种类型的编程模型(设计模型)

  1. Model 1 架构

  2. Model 2(MVC)架构


Model1架构

Servlet和JSP是开发Web应用程序的主要技术。

Servlet被认为优于CGI。 Servlet技术不会创建进程,而是创建线程来处理请求。 创建线程过程的优点是它不分配单独的内存区域。 因此,许多后续请求可以由servlet轻松处理。

Servlet技术中的问题如果任何设计代码被修改,Servlet需要重新编译。 它不提供分离的关注。视图和业务逻辑混杂。

JSP克服了Servlet的几乎所有问题。 它提供更好的分离关注,现在视图和业务逻辑可以很容易地分离。 如果修改了JSP页面,则不需要重新部署应用程序。 JSP提供支持,使用JavaBean,自定义标签和JSTL开发Web应用程序,以便我们可以将业务逻辑与JSP分离开来,这将更容易进行测试和调试。


如上图所示,有一个显示model1架构流程的图片。

  1. 浏览器发送JSP页面的请求

  2. JSP访问Java Bean并调用业务逻辑

  3. Java Bean连接到数据库并获取/保存数据

  4. 发送响应到由JSP生成的浏览器


Model1架构的优势

  • 轻松快速开发Web应用程序

Model1的缺点

  • 导航控制是分散的:因为每个页面都包含确定下一页的逻辑。 如果其他页面引用的JSP页面名称被更改,我们需要在导致维护问题的所有页面中进行更改。

  • 耗时:您需要花更多时间在JSP中开发自定义标签。 所以我们不需要使用scriptlet标签。

  • 难以扩展:对于小型应用程序而言更好,但不适用于大型应用程序。


Model2(MVC)架构

Model2基于MVC(模型视图控制器)设计模式。 MVC设计模式由三个模块:模型,视图和控制器组成。

Model:模型表示应用程序的状态(数据)和业务逻辑。

视图:视图模块负责显示数据,即它代表演示文稿。

控制器:控制器模块作为视图和模型之间的接口。 它拦截所有请求,即接收模型/视图的输入和命令以相应地改变。



Model2(MVC)架构的优势

  • 导航控制集中:现在只有控制器包含了确定下一页的逻辑。

  • 易于维护

  • 容易扩展

  • 容易测试

  • 更好的分离问题


Model2(MVC)架构的缺点

  • 我们需要编写自己的控制器代码。 如果我们更改控制器代码,我们需要重新编译该类并重新部署应用程序。


Model2架构的解决方案:可配置的MVC组件

它使用声明性方法定义视图组件,请求映射等。它解决了Model2型架构的问题。 Struts框架提供了可配置的MVC支持。 在struts 2中,我们定义了所有的Action类,并在struts.xml文件中查看了组件。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Struts/model-1-and-model-2-mvc-architecture.html