- 模型1和模型2(MVC)架构
- 模型1架构
- 模型2(MVC)架构
在开发Web应用程序之前, 我们需要对设计模型有所了解。编程模型有两种类型(设计模型)
- 模型1架构
- 模型2(MVC)架构
模型1架构
Servlet和JSP是开发Web应用程序的主要技术。
Servlet被认为优于CGI。 Servlet技术不会创建进程, 而是创建用于处理请求的线程。创建线程而不是进程的优点是它不分配单独的内存区域。因此, servlet可以轻松处理许多后续请求。
Servlet技术中的问题如果修改任何设计代码, 则Servlet需要重新编译。它没有提供关注点分离。演示和业务逻辑混合在一起。
JSP克服了Servlet的几乎所有问题。它提供了更好的关注点分离, 现在可以轻松地分离表示和业务逻辑。如果修改了JSP页面, 则无需重新部署应用程序。 JSP提供了使用JavaBean, 自定义标签和JSTL开发Web应用程序的支持, 因此我们可以将业务逻辑与JSP分开, 从而更易于测试和调试。
如你在上图中所看到的, 有一些图片显示了model1体系结构的流程。
- 浏览器发送对JSP页面的请求
- JSP访问Java Bean并调用业务逻辑
- Java Bean连接到数据库并获取/保存数据
- 响应发送到由JSP生成的浏览器
模型1架构的优势
- 轻松快速地开发Web应用程序
模型1架构的缺点
- 导航控制是分散的, 因为每个页面都包含确定下一页的逻辑。如果更改了其他页面引用的JSP页面名称, 则需要在所有导致维护问题的页面中更改它。
- 耗时你需要花费更多时间在JSP中开发自定义标签。这样我们就不需要使用scriptlet标签。
- 难以扩展对于小型应用程序更好, 但对于大型应用程序则更好。
模型2(MVC)架构
模型2基于MVC(模型视图控制器)设计模式。 MVC设计模式包括三个模块模型, 视图和控制器。
模型模型代表应用程序的状态(数据)和业务逻辑。
视图视图模块负责显示数据, 即代表演示。
控制器控制器模块充当视图和模型之间的接口。它会拦截所有请求, 即接收输入和对”模型/视图”的命令以进行相应更改。
模型2(MVC)架构的优势
- 导航控制已集中化现在只有控制器包含确定下一页的逻辑。
- 易于维护
- 易于扩展
- 易于测试
- 更好地分离关注点
模型2(MVC)架构的缺点
- 我们需要自己编写控制器代码。如果更改控制器代码, 则需要重新编译类并重新部署应用程序。
请访问此处以获取使用Servlet和JSP的MVC示例。
模型2体系结构的解决方案:可配置的MVC组件
它使用声明性方法定义视图组件, 请求映射等。它解决了Model 2体系结构的问题。 Struts框架提供了可配置的MVC支持。在struts 2中, 我们定义所有动作类并在struts.xml文件中查看组件。
评论前必须登录!
注册