Spring MVC 入门使用笔记(一)

1.早期基于Servlet的MVC模型

MVC 是 Model、View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责:
1.模型:用于存储数据以及处理用户请求的业务逻辑。
2.视图:向控制器提交数据,显示模型中的数据。
3.控制器:根据视图提出的请求判断将请求和数据交给哪个模型处理,将处理后的有关结果交给哪个视图更新显示。

基于 Servlet 的 MVC 模式的具体实现如下:
1.模型:一个或多个 JavaBean 对象,用于存储数据(实体模型,由 JavaBean 类创建)和处理业务逻辑(业务模型,由一般的 Java 类创建)。
2.视图:一个或多个 JSP 页面,向控制器提交数据和为模型提供数据显示,JSP 页面主要使用 HTML 标记和 JavaBean 标记来显示数据。
3.控制器:一个或多个 Servlet 对象,根据视图提交的请求进行控制,即将请求转发给处理业务逻辑的 JavaBean,并将处理结果存放到实体模型 JavaBean 中,输出给视图显示。

在这里插入图片描述



2.SpringMVC 概述

JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。
Struts和SpringMVC是Web层的框架,Spring是业务层的框架,Hibernate和MyBatis是持久层的框架。

很多应用程序的问题在于处理业务数据的对象和显示业务数据的视图之间存在紧密耦合,通常,更新业务对象的命令都是从视图本身发起的,使视图对任何业务对象更改都有高度敏感性。而且,当多个视图依赖于同一个业务对象时是没有灵活性的。

Spring 最初利用“工厂模式”(DI)和“代理模式”(AOP)解耦应用组件。这种方式非常有用,可以基于这种方式开发出一个 MVC框架(一些用Spring 解耦的组件),用开发 web 应用( SpringMVC )。

Spring MVC是Spring的一个模块,是一个web框架,是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架。使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,简化Web开发。

SpringMVC 是目前最主流的MVC框架之一,可以称为是目前最优秀的 MVC 框架。它通过一套注解,让一个简单的 Java 类成为处理请求的控制器,甚至无需实现任何接口。

Spring MVC的作用就是开发web应用,在基于Spring的MVC框架下开发。



3.Spring MVC 工作流程

在这里插入图片描述

DispatcherServlet:前端控制器,用户请求到达前端控制器,是整个流程控制的中心,由它调用其它组件处理用户的请求,控制器的存在降低了组件之间的耦合性。

HandlerMapping:处理器映射器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

Controller/Handler:后端控制器,也是执行处理器,相当于是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下对具体的用户请求进行处理,调用相应的模型处理业务。

HandlerAdapter:处理器适配器,也可以说是一个接口,调用具体的方法对用户发来的请求来进行处理。当handlerMapping获取到执行请求的controller时,DispatcherServlet会根据controller对应的controller类型来调用相应的HandlerAdapter来进行处理。

ViewResolver:视图解析器,负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

View视图:spring mvc框架提供了很多的View视图类型的支持,常用的视图就是jsp,将数据通过一定方式展示给用户

Serlvetname-servlet.xml:Spring框架的的Servlet的XML配置文件

工作步骤:

(1)用户发送HTTP请求至前端控制器DispatcherServlet;
(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handler;
(3)HandlerMapping处理器映射器根据请求url找到具体的Handler处理器,生成Handler处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;
(4)DispatcherServlet 调用 HandlerAdapter处理器适配器;
(5)HandlerAdapter 经过适配调用 具体的Handler处理器(Handler,也叫后端控制器);
(6)Handler执行完成返回ModelAndView;
(7)HandlerAdapter处理器适配器将Handler执行结果ModelAndView返回给DispatcherServlet;
(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;
(9)ViewResolver解析后返回具体View;
(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)
(11)DispatcherServlet响应用户。

4.常用注解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值