DispatcherServlet(DispatcherServlet是基于Spring MVC框架Web应用程序的Front Controller,它将负责所有对应当前Web应用程序的Web请求的处理,它使用一个外部化的配置文件,用来配置Spring MVC 框架在处理Web请求过程中所涉及的各个组件,包括HandlerMapping定义,Controller定义,ViewResolver定义等)
Request -------> HandlerMapping(帮助DispatcherServlet进行Web请求到的URL到具体处理类的匹配,也就是Web请求到相应Handle、之间的映射关系,常用的HanddlerMapping有SimpleUrlHandlerMapping,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请求的处理。通过MethodNameResolver将Web请求与对应的处理方法建立起具体的映射策略。通常的MethodNameResolver有InternalPathMethodNameResolver:如果没有为MultiActioncontroller明确指定任何MethodNameResolver,那么InternalPathMethodNameResolver将做为具体处理方法的映射解析。InternalPathMethodNameResolver将提取URL最后一个/之后的部分取出扩展名,作为要返回的方法的名称。PropertiesMethodNameResolver与InternalPathMethodNameResolver的唯一相同点在于,它们都市基于请求的URL进行映射。但更灵活。InternalPathMethodNameResolver相当于BeanNameUrlHandlerMapping,而PropertiesMethodNameResolver则相当于SimpleUrlHandlermapping.PatamerMethodNameResolver允许我们根据请求中的某个参数的值作为映射的方法名,也允许我们使用请求中的一组参数来映射处理方法的名称。) ------> ModelAndView(通常,Controller在Web请求处理完成后,会返回一个ModelAndView实例。该ModelAndView实例将包括两部分内容,一部分为视图相关的内容,可以使逻辑视图名称,也可以是具体的View实例;另一部分是模型数据,试图渲染过程中将会把这些模型数据并入最终的视图输出。)-------> ViewResolver(视图定位器,它的主要职责是根据Controller所返回的ModelAndView中逻辑视图名称,为DispatcherServlet返回一个可用的View实例。一般的ViewResolver主要有:InternalResourceViewSolver等) -------> View -------> Response
分享到:
相关推荐
第4篇是Spring MVC与MyBatis的项目整合实战,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。 《Spring MVC+MyBatis开发从入门到项目实战》对...
基于jpa+hibernate+spring+spring mvc注解方式项目案例带整体架构及一个页面操作小流程适合新手
团队工具(Spring MVC) “Teamtool”是一种新兴的开源和基于网络的工具。 一方面,它帮助团队采用新的敏捷流程,另一方面,它通过在职培训单元(即所谓的“敏捷行动”)帮助招聘和培训团队成员。 敏捷动作是 明确...
第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。 第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...
第四部分是Spring MVC与MyBatis的项目整合实战篇,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。本书对框架的介绍通俗易懂,由浅入深,结合...
第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。 第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...
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 通过容器完成依赖...
整个项目采用MVC设计模式,其中Spring负责整体业务的逻辑处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis则处理与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应高并发的学校环境...
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 通过容器完成依赖...
整个项目采用MVC设计模式,Spring Boot简化了配置和部署流程,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询...
整个项目采用Spring Boot来简化配置和部署流程,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应农...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应物流管理系统的高效率...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与MySQL数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应小演员招募平台的...
整个项目采用MVC架构设计,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计考虑了数据的完整性和查询效率,以适应宿舍报修管理系统的...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应学生毕业管理系统的需求...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应党务学习平台的需求。 ...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与MySQL数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应音乐播放器小程序...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应智慧乡村旅游服务平台的...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应电子商务系统的需求。 ...
整个项目采用MVC设计模式,Spring负责整体业务逻辑的处理和依赖注入,Spring MVC用于处理HTTP请求和页面跳转,而MyBatis负责与数据库的交互操作。数据库设计优化了存储结构和查询效率,以适应付费自习室管理系统的...