Struts 2模型1和模型2(MVC)架构介绍

  1. 模型1和模型2(MVC)架构
  2. 模型1架构
  3. 模型2(MVC)架构
在开发Web应用程序之前, 我们需要对设计模型有所了解。编程模型有两种类型(设计模型)
  1. 模型1架构
  2. 模型2(MVC)架构
模型1架构
Servlet和JSP是开发Web应用程序的主要技术。
Servlet被认为优于CGI。 Servlet技术不会创建进程, 而是创建用于处理请求的线程。创建线程而不是进程的优点是它不分配单独的内存区域。因此, servlet可以轻松处理许多后续请求。
Servlet技术中的问题如果修改任何设计代码, 则Servlet需要重新编译。它没有提供关注点分离。演示和业务逻辑混合在一起。
JSP克服了Servlet的几乎所有问题。它提供了更好的关注点分离, 现在可以轻松地分离表示和业务逻辑。如果修改了JSP页面, 则无需重新部署应用程序。 JSP提供了使用JavaBean, 自定义标签和JSTL开发Web应用程序的支持, 因此我们可以将业务逻辑与JSP分开, 从而更易于测试和调试。
Struts 2模型1和模型2(MVC)架构介绍

文章图片
如你在上图中所看到的, 有一些图片显示了model1体系结构的流程。
  1. 浏览器发送对JSP页面的请求
  2. JSP访问Java Bean并调用业务逻辑
  3. Java Bean连接到数据库并获取/保存数据
  4. 响应发送到由JSP生成的浏览器
模型1架构的优势
  • 轻松快速地开发Web应用程序
模型1架构的缺点
  • 导航控制是分散的, 因为每个页面都包含确定下一页的逻辑。如果更改了其他页面引用的JSP页面名称, 则需要在所有导致维护问题的页面中更改它。
  • 耗时你需要花费更多时间在JSP中开发自定义标签。这样我们就不需要使用scriptlet标签。
  • 难以扩展对于小型应用程序更好, 但对于大型应用程序则更好。
模型2(MVC)架构
模型2基于MVC(模型视图控制器)设计模式。 MVC设计模式包括三个模块模型, 视图和控制器。
模型模型代表应用程序的状态(数据)和业务逻辑。
【Struts 2模型1和模型2(MVC)架构介绍】视图视图模块负责显示数据, 即代表演示。
控制器控制器模块充当视图和模型之间的接口。它会拦截所有请求, 即接收输入和对” 模型/视图” 的命令以进行相应更改。
Struts 2模型1和模型2(MVC)架构介绍

文章图片
模型2(MVC)架构的优势
  • 导航控制已集中化现在只有控制器包含确定下一页的逻辑。
  • 易于维护
  • 易于扩展
  • 易于测试
  • 更好地分离关注点
模型2(MVC)架构的缺点
  • 我们需要自己编写控制器代码。如果更改控制器代码, 则需要重新编译类并重新部署应用程序。
请访问此处以获取使用Servlet和JSP的MVC示例。
模型2体系结构的解决方案:可配置的MVC组件
它使用声明性方法定义视图组件, 请求映射等。它解决了Model 2体系结构的问题。 Struts框架提供了可配置的MVC支持。在struts 2中, 我们定义所有动作类并在struts.xml文件中查看组件。

    推荐阅读