Spring MVC 体系结构和处理请求控制器

MVC设计模式
MVC设计模式简述
数据访问接口:DAO层
处理业务逻辑:Service层
数据实体:POJO
负责前端请求的接受并处理:servlet
负责前端页面展示:JSP
MVC处理过程
首先视图提供系统与用户交互的界面,并发送用户输入给控制器
控制器接受用户的请求,并决定应该调用哪个模型来进行处理。
模型根据用户请求进行相应的业务逻辑处理,并返回处理结果
控制器根据返回的处理结果,调用相应的视图格式化模型返回的数据,并通过视图呈现给用户结果。
MVC优缺点
优点
多视图共享一个模型,大大提高代码的可重用性。
MVC三个模块相互独立,松耦合架构
控制器提高了应用程序的灵活性和可配置性。
有利于软件工程化管理
缺点
原理复杂
增加了系统结构和实现的复杂性
视图对模型数据的低效率访问。
9.2 Spring MVC介绍及其环境搭建
9.2.1 Spring MVC 框架介绍
Spring MVC框架采用松耦合可插拔的组件结构,具有高度可配置性,比起其他MVC框架更具扩展性和灵活性。此外,Spring MVC的注解驱动和对REST风格的支持,也是它最具特色的功能。无论是在框架设计,还是扩展性、灵活性等方面都已经全面超越了Struts2等MVC框架,并且它本身就是Spring框架的一部分,与Spring框架整合可以说是无缝集成,性能方面具有天生的优越性,对于开发者来说,开发效率也高于其他的Web框架,在企业中的应用越来越广泛,成为主流的MVC框架。
9.2.1 Spring MVC 环境搭建
引入jar文件
Spring MVC 配置
在web.xml中配置Servlet,定义DispatcherServlet
创建Spring MVC的配置文件
创建Controller
创建View
部署运行
9.2.2 Spring MVC框架的请求处理流程及体系结构
客户端发出HTTP请求,Web应用服务器接收此请求。若匹配DispatcherServlet的请求映射路径,则Web容器将该请求转交给DispatcherServlet处理。
DispatcherServlet接收到该请求后,将根据请求的信息及HandlerMapping的配置找到处理请求的处理器。
当DispatcherServlet根据HandlerMapping找到对应当前请求的Handler之后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter可以理解为具体使用Handler来干活的人。
在请求信息到达真正调用Handler的处理方法之前的这段时间内,Spring MVC还完成了很多工作,它会将请求信息以一定的方式转换并绑定到请求方法的入参中,对于入参的对象会进行数据转换、数据格式化以及数据校验等。这些都做完之后,最后才真正地调用Handler的处理方法进行相应的业务逻辑处理。
处理器完成业务逻辑处理之后将返回一个ModelAndView对象给DispatcherServlet,ModelAndView对象包含了逻辑视图名和模型数据信息。
ModelAndView对象中包含的是“逻辑视图名”,而非真正的视图对象。Dispatcher会通过ViewResolver将逻辑视图名解析为真正的视图对象View。当然,负责数据展示的视图可以为JSP、XML、PDF、JSON等多种数据格式,对此Spring MVC均可灵活配置。
当得到真实的视图对象View后,DispatcherServlet会使用ModelAndView对象中的模型数据Json格式的数据。
最终各户端获得响应消息,根据配置,可以是普通的HTML页面,也可以是一个XML或者JSON格式的数据。
Spring MVC框架的特点
1、清晰地角色划分。
2、灵活的配置功能。
3、提供了大量的控制器接口和实现类。
4、真正做到与View层的实现无关。它不会强制开发者使用JSP、也可以根据项目需求使用Velocity、XSLT等技术,使用起来更加灵活
5、国际化支持
6、面向接口编程
7、Spring提供了Web应用开发的一整套流程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值