kokonotsu

博客园 首页 新随笔 联系 订阅 管理

在我们的项目使用中,进一步为了编码的方便,而采用了框架,其中spring mvc就是常用的框架中的一种,springmvc是spring的一个模块,一个“小弟”,用于web开发,我们也可理解为servlet的升级版。

MVC模式

我们已经了解到Spring mvc是基于Spring的一个模块,专门用于做web开发,可以理解为是Servlet的升级,而在Spring MVC框架当中,Controller替代了Servlet担负控制器的职能,以来进行前端和后端之前数据的交互和响应,处理浏览器和客户端之间的请求与结果。


 

在MVC中,M的含义是指向model:模型层,指工程当中的Java Bean,作用是处理数据

Java Bean分两类:

一类是实体类Bean:专门存储业务数据的。
一类为业务处理Bean:指Servlet或Dao对象,专门处理业务逻辑和数据。

V的含义为View,视图层指项目当中的html或jsp等页面,作用是与用户进程交互,展示数据。

C的含义则为Contoller,控制层,指工程当中的servlet,作用是接受请求和响应数据。

MAC思想不是那个语言所特有的设计模式,也不是web应用所特有的思想,而是一种规范。在MVC的思想中,它将一个应用分成三个基本部分:Model(模型)、View(视图)和Controller(控制器),这三个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性,也使得项目看起来更加容易分离和理解。

在springmvc中包含重要的一步是配置DispatcheServlet,Spring MVC是基于原生的servlet,通过强大的前端控制器DispatcheServlet,对请求和响应进行统一处理。

Spring MVC的本质就是一个servlet,是对原生的servlet进行了封装。在以前我们浏览器的每一次请求都需要我们写一个对应的servlet,现在我们只需要将浏览器的请求和响应交给DispatcheServlet进行统一的处理,接下来只需要在web.xml配置文件中核心控制器DispatcherServlet就可以了。

我们也可以在下面的图中看出,绝大多数的前端控制器都需要进行交互操作,通过核心控制器DispatcherServlet,完成页面的响应和请求的调用与返回,来完成项目前端和后端之间的交互工作。

 

 

 


 

springmvc原理 

参照一部分上面图片的响应模式和完整的执行流程,Springmvc的执行原理分为如下几点

1. 当启动Tomcat服务器的时候,因为配置了load-on-startup标签,所以会创建DispatcherServlet对象,就会加载springmvc.xml配置文件

2. 开启了注解扫描,那么HelloController对象就会被创建

3. 从index.jsp发送请求,请求会先到达DispatcherServlet核心控制器,根据配置@RequestMapping注解找到

执行的具体方法

4. 根据执行方法的返回值,再根据配置的视图解析器,去指定的目录下查找指定名称的JSP文件

5. Tomcat服务器渲染页面,做出响应

可以总结为客户端(浏览器)发送请求,直接请求到DispatcherServlet。DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler,解析到对应的Handler后,开始由HandlerAdapter适配器处理,HandlerAdapter会根据Handler来调用真正的处理器开处理请求,并处理相应的业务逻辑,处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是个逻辑上的View,ViewResolver会根据逻辑View查找实际的View,DispaterServlet把返回的Model传给View,通过View返回给请求者(浏览器)



posted on 2022-05-20 23:32  小猫咸菜  阅读(42)  评论(0编辑  收藏  举报