SpringMVC---概述(一) 忘是亡心i 2021-09-23 16:08 291阅读 0赞 # 一、概述 # 1)Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 2)Spring3.0后全面超越Struts2,成为最优秀的MVC框架。 3)SpringMVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口。 4)支持REST风格的URL请求。 5)采用了松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性。 # 二、SpringMVC是什么 # 1)一种轻量级的、基于MVC的Web层应用框架。偏前端而不是基于业务逻辑层。Spring框架的一个后续产品。 2)Spring框架结构图(新版本): ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjI5NTQz_size_16_color_FFFFFF_t_70] # 三、SpringMVC能干什么 # 1)天生与Spring框架集成,如:(IOC,AOP) 2)支持Restful风格 3)进行更简洁的Web层开发 4)支持灵活的URL到页面控制器的映射 5)非常容易与其他视图技术集成,如:Velocity、FreeMarker等等 6)因为模型数据不存放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用) 7)非常灵活的数据验证、格式化和数据绑定机制、能使用任何对象进行数据绑定, 不必实现特定框架的API 8)更加简单、强大的异常处理 9)对静态资源的支持 10)支持灵活的本地化、主题等解析 # 四、SpringMVC常用组件 # 1)将Web层进行了职责解耦,基于请求-响应模式 2)常用主要组件 **①DispatcherServlet:前端控制器。** 首先用户发出请求,请求到达SpringMVC的前端控制器(DispatcherServlet),前端控制器根据用户的url请求处理器映射器查找匹配该url的handler,并返回一个执行链,前端控制器再请求处理器适配器调用相应的handler进行处理并返回给前端控制器一个modelAndView,前端控制器再请求视图解析器对返回的逻辑视图进行解析,最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。DispatcherServlet作为springMVC的前端控制器,负责接收用户的请求并根据用户的请求返回相应的视图给用户。 **②Controller:处理器/页面控制器。** 做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理 **③HandlerMapping** 请求映射到处理器,找谁来处理,如果映射成功返回一个 HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象) **④ViewResolver:视图解析器** 找谁来处理返回的页面。把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;如InternalResourceViewResolver将逻辑视图名映射为JSP视图。 **⑤LocalResolver**:本地化、国际化 **⑥MultipartResolver**:文件上传解析器 **⑦HandlerExceptionResolver**:异常处理器 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjI5NTQz_size_16_color_FFFFFF_t_70]: /images/20210923/ceb19b8dc1774aae92a8eaed963601ff.png
还没有评论,来说两句吧...