Spring MVC与Struts

本文探讨了MVC设计模式,包括概念、优势和不足,并详细阐述了SpringMVC与Spring的关系,以及Struts2与SpringMVC的对比。SpringMVC作为Spring的一部分,提供了更高效和灵活的WEB-MVC框架,与Spring的集成更为紧密,有助于提升应用的可维护性和线程安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MVC设计模式

MVC应用程序的主流开发技术有Servlet、PHP、.net
Servlet是基于Java语言的动态WEB开发技术,Servlet指的是J2EE中所提出来的企业级服务器开发规范。
原生Servlet构建的MVC开发模式有几个缺点:
Servlet本身采用单例设计模式,生命周期由服务器维护,存在线程安全隐患的问题;
随着Servlet数量的增加,对服务器的存储空间也会产生压力;
使用Servlet响应用户请求时,每一个响应逻辑都需要开发者不厌其烦地做些重复的事情,如,解析请求包中的数据、构建响应包、设置页面跳转等等。

概念:

在这里插入图片描述

MVC是模型(Model)、视图(View)、控制器(Controller)的缩写,是一种分离显示业务逻辑、数据和界面的设计模式
组件关系:
模型(Model)表示应用程序核心,是应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据。
视图(View)用来显示数据,是应用程序中处理数据显示的部分,通常View是依据Model的数据而创建的。
控制器(Controller)用来处理用户输入并调用模型和视图来满足用户的需求,是应用程序中处理用户交互的部分,
通常Controller负责从View读取数据,控制用户输入,并向Model发送数据。

MVC优势:

低耦合性;
高重用性和可适用性;
较低的生命周期成本;
快速的部署;
可维护性;
有利于软件工程化管理。

MVC的不足:

增加了系统结构和实现的复杂性;
视图与控制器间的过于紧密的连接;
视图对模型数据的低效率访问。

SpringMVC是Spring生态圈中的WEB-MVC框架。

SpringMVC和Spring的关系

由于Spring的概念有狭义广义两种理解方式,SpringMVC和Spring的关系可以从如下两个角度理解:
水平角度:SpringMVC是Spring生态圈中的一个功能模块,两者是包含与被包含的关系;
垂直角度:SpringMVC是建立在Spring核心功能之上的一个WEB-MVC框架,是Spring核心功能的延伸和扩展。

Struts2与SpringMVC对比

Struts2很多功能也需要借助于Spring实现,SpringMVC和Spring有直属血缘的关系,两者吻合度更高。
使用SpringMVC时所需要的其他逻辑组件都经由IOC创建Spring容器管理,可根据组件特性保证其线程安全性。
SpringMVC利用DI功能,能轻松地装配好各组件之间的依赖,开发者只需要关注编写自己的业务逻辑便可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值