1、Spring MVC是什么?
发布日期:2021-06-29 18:13:52
浏览次数:2
分类:技术文章
本文共 1076 字,大约阅读时间需要 3 分钟。
1. Spring MVC 简介
Spring MVC 是一个用于构建 Web 应用程序的 Java 框架,遵循 模型 - 视图 - 控制器 设计模式。它实现了一个 Spring 核心框架的所有基本功能,如 IoC(控制反转)、DI(依赖注入)等。
Spring MVC 通过使用 DispatcherServlet
,使得我们能够方便地在 Spring 框架中使用 MVC ,其中 DispatcherServlet
是一个接收传入请求并将其映射到正确的资源类。
2. Spring MVC 结构
- Model:包含应用程序的数据,数据可以是单一对象,也可以是对象的集合;
- Controller:包含应用程序的业务逻辑,通常使用
@Controller
注解将类标记为 Controller. - View:一特定格式提供的信息,通常使用 JSP + JSTL 来创建视图页面,此外,Spring 也支持 Themeleaf 和 FreeMaker 等视图技术;
- Front Controller:Spring MVC 中,由
DispatcherServlet
类充当前端控制器,负责管理 Spring MVC 应用程序的流程。
3. Spring MVC 工作流程
- 如上图所示,首先,传入的请求(
request
)被工作在 前端控制器(front Controller
)的DispatcherServlet
所拦截; - 然后
DispatcherServlet
从 XML 配置文件中获取 处理器映射器(Handler Mapping
)的条目,同时将请求转发给控制器(Controller
); - 接着 控制器(
Controller
)返回一个ModelAndeView
对象; - 最后
DispatcherServlet
根据控制器(Controller
)返回的对象去检查 XML 配置文件中对应的 视图解析器(ViewResolver
)条目,同时调用指定的视图组件,在前端呈现出视图(View
)。
4. Spring MVC 的优势
- 简化 Web 层的开发,易于维护;
- 天生与 Spring 框架集成;
- 提供强大的约定大于配置的契约式编程支持;
- 易于对 Web 单元测试;
- 支持灵活的 URL 到页面控制器的映射;
- 支持静态资源;
- 支持 RESTful 风格;
- 灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架 API;
- 提供强大的 JSP 标签库,简化 JSP 开发;
- 支持灵活的本地化、主题等解析;
- 更加简单的异常处理;
转载地址:https://cunyu1943.blog.csdn.net/article/details/107294825 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月06日 04时45分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用 redis的发布订阅机制,来对超时的订单进行过期处理
2019-04-30
git 新建本地分支并和远程分支的关联的创建与修改
2019-04-30
小程序的scoll-view的用法注意事项
2019-04-30
微信unionid的获取踩到的坑
2019-04-30
nginx配置 php-fpm套接字
2019-04-30
linux 下配置 redis开机自动启动
2019-04-30
css使用百比分来控制图片的显示
2019-04-30
php-cgi.sock failed (13: Permission denied)
2019-04-30
小程序的按需登录的实现代码及思想
2019-04-30
让swoole支持异步redis的编辑安装
2019-04-30
微信支付退款成功回调结果的解密
2019-04-30
解决正式服和测试服两个各自争抢小程序的 access_token的问题
2019-04-30
Delphi10 编写的ActiveX Server没有自动注册的问题
2019-04-30
在CentOS7下安装Angular
2019-04-30
CentOS7下安装rabbitMQ的简单方法
2019-04-30
Centos7安装多个版本nodejs
2019-04-30
Delphi10.2开发兼容JAVA的MD5程序
2019-04-30
MySQL并发获取自增值的测试及处理
2019-04-30
MySQL修改密码的旧办法与新办法
2019-04-30