博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringMVC简介
阅读量:5332 次
发布时间:2019-06-14

本文共 1972 字,大约阅读时间需要 6 分钟。

---------------------siwuxie095

   

   

   

   

   

   

   

   

SpringMVC 简介

   

   

1、SpringMVC 是应用在 Java EE 三层架构中的 Web 层的框架。和众多

其他 Web 框架一样,它基于 MVC 的设计理念。此外,它采用了松散耦合

可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性

   

参考链接:

   

   

   

2、SpringMVC 通过一套 MVC 注解,让 POJO 无需实现任何接口即可成

为处理请求的控制器。同时,SpringMVC 还支持 RESTful 风格的 URL 请

求。此外,SpringMVC 在数据绑定、视图解析、本地化处理及静态资源处

理上都有许多不俗的表现

   

它在框架设计、扩展性、灵活性等方面全面超越了 Struts、WebWork 等

MVC 框架,从原来的追赶者一跃成为 MVC 的领跑者

   

   

   

3、SpringMVC 相关文档链接

   

1)中文文档:

   

   

2)英文文档:

   

   

   

   

4、Spring 的体系结构如下,其中:SpringMVC 位于 Web 模块中的 Servlet

   

   

   

注意:SpringMVC 并不是位于 Web 模块中的 Web

   

   

   

5、SpringMVC 是请求驱动,围绕 DispatcherServlet 这个核心进行展开,

DispatcherServlet 是 SpringMVC 的中央处理器,它负责把所有请求分发

到控制器。下图正是 DispatcherServlet 处理请求的工作流

   

   

「DispatcherServlet 应用的正是前端控制器的设计模式」

   

   

   

   

6、具体流程:

   

1用户发送请求到 DispatcherServlet

   

2DispatcherServlet 调用 HandlerMapping 查找 Handler

   

3)HandlerMapping DispatcherServlet 返回 HandlerExecutionChain,

其中包含 Handler 和 HandlerInterceptor[]

   

4DispatcherServlet 调用 HandlerAdapter Handler 进行包装

   

5)HandlerAdapter 执行 Handler(实际上是 Controller),处理业务逻辑

   

6Handler 执行完成,向 HandlerAdapter 返回 ModelAndView,其中包

Model 和 ViewName

   

7)HandlerAdapter DispatcherServlet 返回 ModelAndView

   

8DispatcherServlet 调用 ViewResolver 进行视图解析

   

9)ViewResolver DispatcherServlet 返回 View

   

10DispatcherServlet 调用 View 进行视图渲染,将 Model 中的数据填充

到 Request 域

   

11)View 向 DispatcherServlet 返回渲染后的视图(html/json/xml/…)

   

12DispatcherServlet 返回响应给用户

   

   

参考链接:

   

,,,,,

   

   

   

   

7、综上所述:

   

整个流程其实就是 DispatcherServlet HandlerMappingHandlerAdapter

ViewResolverView 四者依次交互,并在 HandlerAdapter 处执行 Handler

   

   

   

   

8、SpringMVC 中的名词释义

   

DispatcherServlet

核心分发器、前端控制器

HandlerMapping

处理器映射

HandlerAdapter

处理器适配器

HandlerExceptionResolver

处理器异常解析器

ViewResolver

视图解析器

LocaleResolver

地区解析器

LocaleContextResolver

地区上下文解析器

ThemeResolver

主题解析器

HandlerExecutionChain

处理器执行链

HandlerInterceptor

处理器拦截器

   

注:以上都是 SpringMVC 中的类或接口

   

   

   

9Controller(控制器) 和 Handler(处理器)的异同

   

1)Controller 是 SpringMVC 中的接口(实),Handler 是 SpringMVC 中的概念(虚)

   

2)Controller 一定属于 Handler,但 Handler 却不一定属于 Controller

   

   

   

   

 

   

   

【made by siwuxie095】

转载于:https://www.cnblogs.com/siwuxie095/p/8486271.html

你可能感兴趣的文章
每日站立会议及今日份任务
查看>>
R12 付款过程请求-功能和技术信息 (文档 ID 1537521.1)
查看>>
洛谷 4364 [九省联考2018]IIIDX
查看>>
洛谷 3870 [TJOI2009]开关
查看>>
【牛客-16643】统计数字(简单排序)
查看>>
www.aaa.com/index.html跳转www.aaa.com设置
查看>>
ssdb binlog机制 存疑
查看>>
Vue 2.0 组件库总结
查看>>
HDU5033 Building(单调栈)
查看>>
Kafka 安装配置 及 简单实验记录
查看>>
想成为程序猿?28个程序员专供在线学习网站(转)
查看>>
font-style: oblique文字斜体,display:inline-block显示间隙
查看>>
css设置滚动条并显示或隐藏
查看>>
【leetcode❤python】13. Roman to Integer
查看>>
常用关于 JavaScript 中的跨域访问方法
查看>>
织梦万能调用LOOP标签!
查看>>
Microsoft 官网 socket异步
查看>>
asp.net MVC helper 和自定义函数@functions小结
查看>>
L1-Day34
查看>>
Linux主机在LNMP环境中同时运行多个PHP版本
查看>>