Spring MVC

本文介绍了Spring MVC,它是基于Java的轻量级Web框架,能简化Web开发。阐述了其运行原理,包括用户请求到前端控制器,经处理器映射器、适配器等组件处理,最终将数据渲染到页面响应给用户。还介绍了各组件功能,如前端控制器是控制中心,处理器映射器根据URL查找Handler等。

Spring MVC介绍

JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。Struts和SpringMVC是Web层的框架,Spring是业务层的框架,Hibernate和MyBatis是持久层的框架。
SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。

Spring MVC框架

在这里插入图片描述
SpringMVC是属于Spring的一个模块
SpringMVC和Spring无需通过中间整合增进行整合
Spring是一个基于MVC的web框架

Spring MVC的运行原理

在这里插入图片描述
SPringMVC运行的步骤:
第一步:用户发起请求(URL),请求request到前端控制器:DispatchServlet
第二步:前端控制器请求处理器映射器:HardlerMapping查找Handler,可以通过注解,xml配置来进行查找
第三步:处理器映射器向前端控制器来响应结果,返回的是处理器执行链HandlerExecutionChain,包含一个Handler处理器对象和多个HandlerInterceptor对象
第四步:由前端控制器请求处理器适配器:请求执行Handler
第五步:处理器适配器找到真正执行的处理器:Handler
第六步:处理器返回给处理器适配器:返回一个ModelAndView的对象,该对象的底层是包含View和Model:Model就是响应该请求的数据,View是的逻辑视图名
第七步:处理器适配器响应前端控制器,返回ModelAndView的对象
第八步:由前端控制器来请求视图解析器:ViewResolver,视图解析器负责将逻辑视图名解析为具体的视图View(jsp,pdf,freeemark…)
第九步:视图解析器向前端控制器返回View
第十步:将前端控制器将数据渲染到页面View上
第十一步:将填充好的页面响应该用户

Spring MVC 中各组件的介绍

前端控制器(DispatchServlet)

不需要开发,由框架来提供
用户的请求首先到达前端控制器,最终响应也是有前端控制器完成的,是用户请求的入口
在各个组件间完成数据的转发,由前端控制器的存在减少了其他组件间的耦合性
前端控制器相当于是控制中心

处理器映射器(HandlerMapping)

不需要开发,由框架提供
根据URL来查找Handler
HandlerMapping的职责就是根据URL来查找到具体执行的Handler,即处理器(Controller)
Spring MVC中对于映射器的处理有不同的映射方式,配置文件映射,注解进行映射,Java代码进行映射

处理器适配器(HandlerAdapter)

不需要开发,由框架提供
按照特定的规则去找到具体执行的执行器
使用适配器模式来进行适配找执行器

处理器(Handler)

需要进行开发
编写Handler是需要按照适配器提供的规则进行开发,这样适配器才能找到处理器
Handler在代码上即实现的Controller层的对应的具体的方法入口

视图解析器(View Resolver)

不需要开发,由框架来提供
进行视图解析,根据逻辑视图名来查找到真正的视图
(View),将负责梳理结果生成View视图
根据逻辑视图名解析找到物理逻辑视图名即具体的视图地址,
完成数据的渲染,将最终渲染后的页面响应给用户

视图(View)

需要开发
最终展示给用户的页面
View是一个接口,不同的类型的页面即作为该接口的实现类
实现类(jsp、pdf、freemaker…)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值