Spring MVC学习随笔-Spring MVC介绍
学习视频:孙哥说SpringMVC:结合Thymeleaf,重塑你的MVC世界!|前所未有的Web开发探索之旅第一章、SpringMVC的引言
1.1什么是SpringMVC
[*]概念:SpringMVC是基于Spring Framework衍生而来的MVC框架,主要解决了原有MVC框架开发过程中,控制器(Controller)的问题
[*]SpringMVC是一个MVC框架
[*]MVC是一个架构思想,在JavaEE开发中多用于Web开发。
[*]应用MVC架构思想开发应用,会把一个项目划分为了3个层次,M(model)模型层,V(View)视图层,C(Controller)控制层
View JSP
Model Service+DAO
Controller Servlet
[*]MVC这种分层开发,体现了面向对象各司其职的设计思想,也更加有利于后续的项目维护(修改)。
[*]为什么要基于Sping Framework
[*]通过工厂(容器)创建对象,解耦合(IOC DI)。
[*]通过AOP的方式,为目标类(原始类)增加额外功能
[*]方便与第三方框架的集成
[*]MyBatis
[*]JPA
[*]MQ
[*]原有MVC开发中控制器存在的问题
[*]原有MVC开发中的控制器通过哪些技术实现的?
[*]这些技术在实现控制器时,存在着哪些问题
实现技术:1.Servlet[基于Java Model2模式]
Servlet实现控制器存在的问题:
[*]控制器的核心作用
[*]接收用户的请求,调用业务功能(Service),并根据处理结果控制程序的运行流程。
https://img2023.cnblogs.com/blog/3321544/202311/3321544-20231125134316346-488068513.png
[*]控制器的核心代码
[*]接收client参数
[*]调用业务对象(Service)
[*]流程跳转(页面跳转)
https://img2023.cnblogs.com/blog/3321544/202311/3321544-20231125134327095-752405885.png
[*]控制器存在的问题
[*]接收client请求参数方面
[*]代码冗余
[*]只能接受字符串类型的数据,需要手工进行类型转换
[*]无法自动封装对象
https://img2023.cnblogs.com/blog/3321544/202311/3321544-20231125134334710-2024302197.png
[*]调用业务对象(Service)方面
UserService userService = new UserServiceImpl();//耦合代码
boolean isLogin = userService.login(name,password);通过new的方式获得业务对象(service)存在耦合
[*]流程跳转(页面跳转)
[*]跳转路径耦合
https://img2023.cnblogs.com/blog/3321544/202311/3321544-20231125134352997-148516063.png
[*]与视图层技术的耦合
https://img2023.cnblogs.com/blog/3321544/202311/3321544-20231125134401967-2072240896.png
1.2 SpringMVC课程的学习要点
1.2.1 SpringMVC的三种开发模式
[*]传统视图开发【基础课程讲解】
[*]通过作用域(request,session)进行数据的传递
[*]通过视图层技术进行数据的展示(JSP,FreeMarker,Thymeleaf)
[*]前后端分离开发【MVC高级课程讲解】
[*]多种新的请求发送方式
[*]Restful的访问(Url的访问方式)
[*]通过HttpMessageConverter进行数据响应
[*]Spring5 WebFlux开发【独立课程讲解】
[*]替换传统JavaWeb开发的一种新的Web开发方式
[*]通过NettyServer,进行Web通信
1.2.2控制器开发步骤
[*]接受client请求参数
[*]调用业务对象
[*]流程跳转
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]