没有合适的资源?快使用搜索试试~ 我知道了~
全面掌握Spring MVC:从基础到高级的实践指南
5星 · 超过95%的资源 需积分: 1 0 下载量 39 浏览量
2023-12-13
20:53:40
上传
评论 1
收藏 1.43MB PDF 举报
温馨提示
试读
16页
Spring MVC是Spring框架的一个模块,专注于构建Web应用程序。作为架构师和Java开发者,深入理解Spring MVC的原理和实践应用是非常重要的。本文通过分析Spring MVC的核心组件和执行流程,提供了一个全面的学习指南。 Spring MVC基于Model-View-Controller(MVC)架构模式,优化了Web应用程序的设计和开发。在Spring MVC中,DispatcherServlet作为前端控制器,负责请求的接收和响应结果的处理。处理器映射器(HandlerMapping)和处理器适配器(HandlerAdapter)是核心组件,负责找到和调用适当的处理器(Controller)。 Spring MVC的一个关键特性是它的灵活性,支持多种类型的控制器和视图技术。它还提供了强大的注解支持,使得开发更加简洁和直观。例如,通过使用@Controller和@RequestMapping注解,开发者可以轻松定义控制器和请求映射。
资源推荐
资源详情
资源评论
1、MVC模型的由来
1、Model1
模
型
Model1模型是很早以前项目开发的一种常见模型,项目主要由 jsp和 JavaBean两部分组成。
它的优点是:结构简单。开发小型项目时效率高。
它的缺点也同样明显:
第一:JSP的职责兼顾于展示数据和处理数据(也就是干了控制器和视图的事)
第二:所有逻辑代码都是写在 JSP中的,导致代码重用性很低。
第三:由于展示数据的代码和部分的业务代码交织在一起,维护非常不便。
所以,结论是此种设计模型已经被淘汰没人使用了。
在Model1模式下,整个Web应用几乎全部由JSP页面组成,JSP页面接收处理客户端请求,对请
求处理后直接做出响应。用少量的JavaBean来处理数据库连接、数据库访问等操作。
1.2Model2
模
型
Model2模型是在 Model1的基础上进行改良,它是 MVC模型的一个经典应用。它把处理请求
和展示数据进行分离,让每个部分各司其职。
此时的 JSP已经就是纯粹的展示数据了,而处理请求的事情交由控制器来完成,使
每个组件充分独立,提高了代码可重用性和易维护性。下图展示的就是 Model2模型:
Model2是基于MVC架构的设计模式。
在Model2架构中,Servlet作为前端控制器,负责接收客户端发送的请求
在Servlet中只包含控制逻辑和简单的前端处理;
后端JavaBean来完成实际的逻辑处理;
最后,转发到相应的JSP页面处理显示逻辑。
Model2具有组件化的特点,更适用于大规模应用的开发。
2
基
于
MVC
模
型
框架
之
:
SpringMVC
2.1SpringMVC
的
执
行
过
程
分
析
总结:
1)前端控制器DispatcherServlet由框架提供
作用:接收请求,处理响应结果
2)处理器映射器HandlerMapping由框架提供
作用:根据请求URL,找到对应的Handler
3)处理器适配器HandlerAdapter由框架提供
作用:调用处理器(Handler|Controller)的方法
4)处理器Handler又名Controller,后端处理器
作用:接收用户请求数据,调用业务方法处理请求
5)视图解析器ViewResolver由框架提供
作用:视图解析,把逻辑视图名称解析成真正的物理视图
支持多种视图技术:JSTLView,FreeMarker...
6)视图View,程序员开发
作用:将数据展现给用户
2.2SpringMVC
中三
大
组
件
详
解
2.2.1
处
理
器
映
射
器
它指的是:HandlerMapping
是在 Spring的 3.1版本之后加入的。它的出现,可以让使用者更加轻松的去配置 SpringMVC
的请求路径映
射。去掉了早期繁琐的 xml的配置
它的配置有两种方式:都是在 springmvc.xml中加入配置。
第一种方式:
1 <beanclass="org.springframework.web.servlet.mvc.method.annotation.RequestMappin
gHandlerMapping"/>
2
第二种方式:
1 <mvc:annotation‐driven></mvc:annotation‐driven>
2.2.2
处
理
器
适
配
器
要清晰的认识 SpringMVC的处理器适配器,就先必须知道适配器以及它的作用。我们先通过下
图,直观的了
解一下:
通过上面三张图,我们可以直观的感受到,它是把不同的接口都转换成了 USB接口。
带入到我们 SpringMVC中,就是把不同的控制器,最终都可以看成是适配器类型,从而执行适配
器中定义的
方法。更深层次的是,我们可以把公共的功能都定义在适配器中,从而减少每种控制器中都有的重
复性代码。
学习了SpringMVC的执行过程,最终调用的是前端控制器 DispatcherServlet的
doDispatch方法,而该方法中的 HandlerAdapter的 handle方法实际调用了我们自己写的控制
器方法。而我
们写的控制方法名称各不一样,它是通过 handle方法反射调用的。但是我们不知道的是,其实
SpringMVC中处
理器适配器也有多个。
HandlerAdapter详解
这里Springmvc采用适配器模式来适配调用指定Handler,根据Handler的不同种类采用不同的
Adapter,其Handler与HandlerAdapter对应关系如下:
Handler类别 对应适配器 描述
Controller SimpleControllerHandlerAdapter 标准控制器,返回ModelAndView
HttpRequestHandler HttpRequestHandlerAdapter
业务自行处理请求,不需要通过
modelAndView转到视图
Servlet SimpleServletHandlerAdapter 基于标准的servlet处理
HandlerMethod RequestMappingHandlerAdapter 基于@requestMapping对应方法处理
剩余15页未读,继续阅读
资源评论
- shiweixia2023-12-16学习了,资源不错 #运行顺畅 #内容详尽 #运行顺畅
光芒软件工匠
- 粉丝: 789
- 资源: 64
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 3122080306 邹子轩 实验报告二.docx
- 基于STM32 NUCLEO板设计彩色LED照明灯(纯cubeMX开发)(大赛作品,文档完整,可直接运行)
- 发那科工业机器人保养大全
- Sphere.h
- REMD固有时间尺度分解信号分量可视化(Matlab完整源码和数据)
- 嵌入式系统双单片机STC89C52+STC15W104多功能学习板电路图可扩展 适用于单片机初学者和教学
- 基于STM32蓝牙控制小车系统设计(硬件+源代码+论文)大赛作品
- XILINXFPGA源码基于Spartan3火龙刀系列FPGA开发板VGA测试例程
- Java聊天室的设计与实现【尚学堂·百战程序员】
- python中matplotlib教程
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功