`
imaginecup
  • 浏览: 85574 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Spring MVC 整体的流程

阅读更多

DispatcherServlet(DispatcherServlet是基于Spring MVC框架Web应用程序的Front Controller,它将负责所有对应当前Web应用程序的Web请求的处理,它使用一个外部化的配置文件,用来配置Spring MVC 框架在处理Web请求过程中所涉及的各个组件,包括HandlerMapping定义,Controller定义,ViewResolver定义等)

   Request   ------->        HandlerMapping(帮助DispatcherServlet进行Web请求到的URL到具体处理类的匹配,也就是Web请求到相应Handle、之间的映射关系,常用的HanddlerMappingSimpleUrlHandlerMapping,BeanNameUrlHandlerMapping) ------->        Controller(Spring MVC框架支持的用于处理具体Web请求的handler类型之一。AbstractController是整个Controller继承层次的起源,该类通过模板方法帮助我们解决一下几个通用的关注点:管理当前Controller所支持的请求方法类型GET/POST;管理页面的缓存设置,即是否允许浏览器缓存当前页面;管理执行流程在会话Session的同步。

MultiActionController它是对于一组逻辑上相近的Web请求来说,或者针对同一对象甚至多个对象的一组查询操作,我们可以将Web请求交给MultiActionController来统一处理,而不用分别为每个Web请求单独实现一个继承AbstractController的处理类,它也继承AbstractController,除此之外它还具有以下功能:请求参数到Command对象 的绑定;通过Validator的数据的验证;细化的异常处理方法。为了能在MultiActionController中处理多个Web请求,我们需要定义多个Web请求处理方法,分别对应每个Web请求的处理。通过MethodNameResolverWeb请求与对应的处理方法建立起具体的映射策略。通常的MethodNameResolverInternalPathMethodNameResolver:如果没有为MultiActioncontroller明确指定任何MethodNameResolver,那么InternalPathMethodNameResolver将做为具体处理方法的映射解析。InternalPathMethodNameResolver将提取URL最后一个/之后的部分取出扩展名,作为要返回的方法的名称。PropertiesMethodNameResolverInternalPathMethodNameResolver的唯一相同点在于,它们都市基于请求的URL进行映射。但更灵活。InternalPathMethodNameResolver相当于BeanNameUrlHandlerMapping,PropertiesMethodNameResolver则相当于SimpleUrlHandlermapping.PatamerMethodNameResolver允许我们根据请求中的某个参数的值作为映射的方法名,也允许我们使用请求中的一组参数来映射处理方法的名称。)   ------>       ModelAndView(通常,ControllerWeb请求处理完成后,会返回一个ModelAndView实例。该ModelAndView实例将包括两部分内容,一部分为视图相关的内容,可以使逻辑视图名称,也可以是具体的View实例;另一部分是模型数据,试图渲染过程中将会把这些模型数据并入最终的视图输出。)------->   ViewResolver(视图定位器,它的主要职责是根据Controller所返回的ModelAndView中逻辑视图名称,为DispatcherServlet返回一个可用的View实例。一般的ViewResolver主要有:InternalResourceViewSolver等)  ------->            View                  ------->  Response

1
8
分享到:
评论

相关推荐

    Spring MVC+MyBatis开发从入门到项目实战

    第4篇是Spring MVC与MyBatis的项目整合实战,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。 《Spring MVC+MyBatis开发从入门到项目实战》对...

    基于jpa+hibernate+spring+spring mvc注解方式项目

    基于jpa+hibernate+spring+spring mvc注解方式项目案例带整体架构及一个页面操作小流程适合新手

    teamtool-spring:团队工具(Spring MVC)

    团队工具(Spring MVC) “Teamtool”是一种新兴的开源和基于网络的工具。 一方面,它帮助团队采用新的敏捷流程,另一方面,它通过在职培训单元(即所谓的“敏捷行动”)帮助招聘和培训团队成员。 敏捷动作是 明确...

    Spring+3.x企业应用开发实战光盘源码(全)

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    SpringMVC MyBatis项目实战 入门

    第四部分是Spring MVC与MyBatis的项目整合实战篇,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。本书对框架的介绍通俗易懂,由浅入深,结合...

    陈开雄 Spring+3.x企业应用开发实战光盘源码.zip

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    Spring.3.x企业应用开发实战(完整版).part2

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

    ssm项目weixin217基于微信小程序的学生签到系统设计与实现ssmpf.zip

    整个项目采用MVC设计模式,其中Spring负责整体业务的逻辑处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis则处理与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应高并发的学校环境...

    Spring3.x企业应用开发实战(完整版) part1

    2.5.1 配置Spring MVC框架 2.5.2 处理登录请求 2.5.3 JSP视图页面 2.6 运行Web应用 2.7 小结 第2篇 IoC和AOP 第3章 IoC容器概述 3.1 IoC概述 3.1.1 通过实例理解IoC的概念 3.1.2 IoC的类型 3.1.3 通过容器完成依赖...

    ssm项目基于uniapp+springboot的校园失物招领系统的设计与实现.zip

    整个项目采用MVC设计模式,Spring Boot简化了配置和部署流程,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询...

    ssm项目springboot农产品商城小程序.zip

    整个项目采用Spring Boot来简化配置和部署流程,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应农...

    ssm项目基于小程序的物流管理系统.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应物流管理系统的高效率...

    ssm项目小演员招募小程序的设计与开发_33d98.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与MySQL数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应小演员招募平台的...

    ssm项目weixin183基于小程序宿舍报修系统的设计与实现ssm.zip

    整个项目采用MVC架构设计,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计考虑了数据的完整性和查询效率,以适应宿舍报修管理系统的...

    ssm项目学生毕业管理系统_y65fk.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应学生毕业管理系统的需求...

    ssm项目大学生党务学习平台小程序.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应党务学习平台的需求。 ...

    ssm项目音乐播放器小程序.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与MySQL数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应音乐播放器小程序...

    ssm项目weixin124智慧乡村旅游服务平台的设计与实现+ssm.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应智慧乡村旅游服务平台的...

    ssm项目基于微信小程序的超市购物系统代码.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应电子商务系统的需求。 ...

    ssm项目基于微信小程序的付费自习室管理系统.zip

    整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应付费自习室管理系统的...

Global site tag (gtag.js) - Google Analytics