SpringMVC简介

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

  

  

  

  

  

  

  

  

SpringMVC 简介

  

  

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

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

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

  

参考链接:http://www.iteye.com/blogs/subjects/springmvc-explore

  

  

  

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

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

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

理上都有许多不俗的表现

  

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

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

  

  

  

3、SpringMVC 相关文档链接

  

1)中文文档:

  

https://linesh.gitbooks.io/spring-mvc-documentation-linesh-translation/content/

  

2)英文文档:

  

https://docs.spring.io/spring/docs/current/spring-framework-reference/web.html

  

  

  

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

  

  

  

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

  

  

  

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

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

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

  

  

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

  

  

  

  

6、具体流程:

  

1用户发送请求到DispatcherServlet

  

2DispatcherServlet调用HandlerMapping查找 Handler

  

3)HandlerMappingDispatcherServlet返回HandlerExecutionChain,

其中包含Handler 和 HandlerInterceptor[]

  

4DispatcherServlet调用HandlerAdapterHandler 进行包装

  

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

  

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

Model 和 ViewName

  

7)HandlerAdapterDispatcherServlet返回ModelAndView

  

8DispatcherServlet调用ViewResolver进行视图解析

  

9)ViewResolverDispatcherServlet返回View

  

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

到 Request 域

  

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

  

12DispatcherServlet返回响应给用户

  

  

参考链接:

  

参考链接1参考链接2参考链接3参考链接4参考链接5参考链接6

  

  

  

  

7、综上所述:

  

整个流程其实就是 DispatcherServletHandlerMappingHandlerAdapter

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】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值