`
imaginecup
  • 浏览: 87389 次
  • 性别: 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
分享到:
评论

相关推荐

    基于 Java ssh整合 开源博客系统 spring mvc,hibernate,spring,maven 整合开发

    Spring MVC负责处理HTTP请求和响应,Hibernate负责数据持久化,Spring提供整体的框架支持和事务管理,而Maven则负责整个项目的构建流程。 在实际的开发过程中,这样的整合可以带来很多便利。例如,Spring MVC与...

    SSM框架的配置搭建 spring、 spring mvc、 mybatis 整合详解

    在SSM中,Spring作为整体架构的基石,负责管理各个组件和服务。 接着是Spring MVC,它是Spring框架的一个模块,专门用于处理Web请求。Spring MVC通过DispatcherServlet接收HTTP请求,然后分发到相应的控制器...

    spring mvc深入总结

    Spring MVC 的核心流程大致如下: 1. 用户发起请求,被 `DispatcherServlet` 拦截。 2. `DispatcherServlet` 根据 `HandlerMapping` 将请求映射到对应的 Controller。 3. `HandlerAdapter` 调用 Controller 的方法...

    Spring Cloud+Spring MVC+Mybatis项目源码.rar_mvc_spring mvc项目_spring-

    标题中的“Spring Cloud+Spring MVC+Mybatis项目源码”表明这是一个综合了Spring框架生态的实战项目,结合了...同时,这也是一个实践Spring MVC+Mybatis整合开发的绝佳案例,有助于理解Web应用和数据库操作的流程。

    在线投票系统 Spring+Spring MVC+Mybatis

    综上所述,在线投票系统基于SSM框架构建,利用Spring进行整体架构和依赖管理,Spring MVC处理Web请求,Mybatis负责数据库操作,Layui提供前端界面,而Maven则管理整个项目的构建和依赖。通过这样的技术组合,开发者...

    spring,spring mvc,hibernate,ehcache Java后台框架

    Spring负责整体的控制流程和依赖管理,Spring MVC处理Web交互,Hibernate处理数据持久化,而Ehcache则作为缓存层提升应用响应速度。这种架构模式在现代企业级应用开发中被广泛采用,是Java开发者的必备知识。理解并...

    spring、spring mvc、hibernate、bootstrap、maven开发学生籍贯后台管理系统

    标题中的“spring、spring mvc、hibernate、bootstrap、maven开发学生籍贯后台管理系统”揭示了这个项目是基于一系列流行的Java...同时,利用Maven进行项目管理,可以确保开发流程的标准化和自动化,提高整体开发效率。

    Spring MVC的总结梳理

    - **松耦合**:Spring MVC确保各个组件(如控制器、服务层和持久层)之间的耦合度较低,这有助于提高组件的可重用性和系统的整体灵活性。 - **灵活性**:开发者可以根据项目的实际需求选择不同的视图技术,例如JSP、...

    Spring MVC 中文资料

    3. **高度灵活性**:Spring MVC 的灵活性极高,得益于 Spring 框架的整体设计,它可以轻松扩展并集成其他组件和服务。开发者几乎不会感受到任何限制。 #### 二、Spring MVC 核心类与接口 理解 Spring MVC 的工作...

    Spring mvc、 Spring、 Spring jdbc 整合 demo

    这对于理解和掌握Spring框架的整体工作流程至关重要。 6. **学习资源** 学习这个整合Demo,可以通过阅读源码来深入理解每个模块的作用和交互方式。此外,Spring官方文档、教程和在线课程都是学习Spring框架的宝贵...

    企业级员工信息管理系统 spring mvc + spring + hibernate + bootstrap + maven.zip

    《企业级员工信息管理系统:基于Spring MVC+Spring+Hibernate+Bootstrap+Maven的实现》 在信息化时代,高效的企业管理离不开强大的信息系统支持。本项目——"企业级员工信息管理系统",便是采用Java技术栈,结合...

    Spring+Spring MVC+Struts+hibernate开发摄影平台完整版系统

    Spring MVC处理请求和响应,Struts提供额外的业务逻辑控制,Spring负责整体的组件管理,而Hibernate则负责数据的存取。这样的组合在处理复杂业务逻辑和大型项目时,展现出极高的灵活性和可扩展性。 总的来说,这个...

    Spring+Spring MVC+MyBatis项目

    在本项目中,Spring作为整体架构的基础,负责管理对象的生命周期和依赖关系,简化了代码的编写和维护。 **Spring MVC** Spring MVC是Spring框架的一个模块,专门用于处理Web应用程序的请求和响应。它遵循Model-View...

    spring MVC step-by-step

    首先,我们从整体上理解Spring MVC的架构。它主要由DispatcherServlet、Controller、Model、View和ViewResolver等组件组成。DispatcherServlet是整个流程的入口,它负责接收HTTP请求并分发到相应的Controller处理。...

    Spring MVC配置文档及原理介绍

    整体架构为Spring MVC + Hibernate + Spring,这三者共同构成了一个完整的Web应用解决方案。 **2. 配置文件** - `web.xml`:用于配置Spring MVC的前端控制器`DispatcherServlet`。 - `web-config.xml`:包含Spring ...

    Spring MVC创建-SSM框架整合.pdf

    在Spring框架的整体结构中,Spring MVC是表现层的重要组成部分,用于分离业务逻辑、数据模型与用户界面。 在开始Spring MVC的学习时,首先要创建一个基础的工程结构。这通常包括以下几个步骤: 1. **创建工程**:...

    Spring Mvc框架

    如果你是初学者,可以直接运行这个项目来体验Spring MVC的工作流程,同时也可以参考项目的配置和代码来学习如何配置和使用Spring MVC。 通过实践,你可以更深入地理解Spring MVC的每一个组件和它们之间的交互,从而...

    jee、spring、spring mvc、mybatis 学习(六)

    例如,使用JEE的Servlet和JSP处理HTTP请求,Spring作为整体的框架进行组件管理,Spring MVC负责Web层的路由和视图渲染,而MyBatis则作为数据访问层,处理与数据库的交互。这样的组合提供了强大的功能,同时也确保了...

    spring mvc

    同时,Spring MVC更容易编写高性能的应用,并且其灵活性极高,得益于Spring框架的整体扩展性。 Spring MVC的主要组件包括: 1. **DispatcherServlet**:作为前端控制器,它是整个Spring MVC流程的入口点。...

Global site tag (gtag.js) - Google Analytics