DispatchServlet 是一个Servlet 对所有匹配的url进行处理
对它进行配置的xml文件默认是 {servlet-name}-servlet.xml
这个文件中配置了spring的MVC框架。
DispatchServlet 接受到请求之后
通过URL找到适合的处理器映射,使用处理器映射SimpleUrlHandlerMapping或者BeanNameUrlHandlerMapping
一个基本的HandlerMapping所提供的功能是将请求传递到HandlerExecutionChain上,首先HandlerExecutionChain包含一个符合输入请求的处理器。其次(但是可选的)是一个可以拦截请求的拦截器列表。当收到请求,DispatcherServlet将请求交给处理器映射,让它检查请求并获得一个正确的HandlerExecutionChain。然后,执行定义在执行链中的处理器和拦截器(如果有拦截器的话)
Controller 的操作流程
对表单来说,spring标签让你把表单数据绑定到指定的对象上,该对象要自己来定义,但它不需要实现任何接口,然后在Controller 中从该对象中提取用户数据,在这之前可以先对表单数据进行验证,然后执行业务逻辑的方法,执行完之后,返回一个返回一个ModelAndView对象例如:
ModelAndView("Cart", "cart", cart);
其中"Cart"为视图对象
由resolver 处理逻辑名找到对应真正的资源(jsp文件)
后面两个的实际操作是把它们放到一个map对象中,
name:"cart" value:cart
BeanNameUrlHandlerMapping
它将收到的HTTP请求映射到在web应用上下文中定义的bean的名字上
SimpleUrlHandlerMapping
需要提供映射的url,和对应的controller
支持正则表达式的url
拦截器的概念:
处理器映射提供了拦截器概念,当你想要为所有请求提供某种功能时,例如做某种检查,这就非常有用。
处理器映射中的拦截器必须实现org.springframework.web.servlet包中的HandlerInterceptor接口。这个接口定义了三个方法,一个在处理器执行前被调用,一个在处理器执行后被调用,另一个在整个请求处理完后调用。这三个方法提供你足够的灵活度做任何处理前和处理后的操作。
preHandle方法有一个boolean返回值。使用这个值,你可以调整执行链的行为。当返回true时,处理器执行链将继续执行,当返回false时,DispatcherServlet认为拦截器本身将处理请求(比如显示正确的视图),而不继续执行执行链中的其它拦截器和处理器。
简单的示例:webminimal
网址:http://www.jactiongroup.net/reference/html/mvc.html#mvc-handlermapping
分享到:
相关推荐
`DispatcherServlet`是Spring MVC框架的核心,它根据可配置的处理器映射将请求分派到控制器,并提供了视图解析、地区和主题解析以及文件上传支持。`DispatcherServlet`体现了“前端控制器”设计模式,与Spring的IoC...
10. **spring-web**: Web相关的支持,包括MVC框架。 11. **spring-webmvc**: Spring MVC的实现。 12. **spring-test**: 测试工具,用于编写单元测试和集成测试。 每个jar包都有其特定的作用,一起构成了Spring的...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个模块,主要用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。本教程将帮助初学者快速理解和掌握 Spring MVC 的核心概念和实践...
在学习Spring的过程中,可以结合博文进行深入理解,从基础概念入手,如Bean的生命周期、依赖注入、AOP原理,再到实际应用场景,如MVC框架的使用、数据库操作、事务管理等。同时,了解和实践Spring Boot和Spring ...
### Spring+MVC中文教程知识点概述 #### 一、Spring框架简介 - **Spring框架**是由Rod ...通过以上内容的介绍,读者可以对Spring框架有一个较为全面的认识,并掌握如何使用Spring框架构建企业级应用程序的基础知识。
"应用,从而对Spring MVC有一个基础的认识。 首先,我们需要在项目中引入Spring MVC的依赖。通常,我们会使用Maven或Gradle这样的构建工具来管理依赖。对于Maven,可以在pom.xml文件中添加以下依赖: ```xml ...
6. **MVC 框架**:Spring MVC 是 Spring 用于构建 Web 应用的一个模块。学习如何创建控制器(Controller)、模型(Model)、视图(View)和视图解析器(ViewResolver),以及如何处理 HTTP 请求和响应,是 Web 开发...
《Spring框架3.0.5源代码解析》 Spring框架,作为Java开发中的核心框架,以其高度模块化、灵活性和强大的功能深受开发者喜爱。本文将深入探讨Spring Framework 3.0.5的源代码,揭示其背后的实现原理,帮助开发者更...
Spring MVC是Spring...在实际开发中,你可能还需要了解更多的概念,如RESTful API设计、数据绑定、异常处理、国际化等,这些都是Spring MVC框架中的重要组成部分。随着实践的深入,你会对Spring MVC有更全面的认识。
3. Spring框架:Spring提供了全面的应用程序管理和服务,如IoC(Inversion of Control)容器、数据访问集成、事务管理等。 4. MyBatis:可能用于数据访问层,简化SQL操作,提高数据库访问效率。 三、源代码分析 源...
Spring框架是Java开发领域中...以上是对Spring框架的初步认识,深入学习和实践,可以借助“初识Spring框架-资料.rar”中的教程、文档和示例,逐步掌握Spring的各个方面,从而在实际项目中更加熟练地运用这一强大框架。
本合集深入剖析了Spring的诸多关键特性,包括依赖注入、配置类解析、Bean生命周期管理、以及与MyBatis的整合等,旨在帮助读者构建起对Spring全面而深入的认识。 1. **依赖注入源码解析**:在"06-Spring之依赖注入...
- **MVC(Model-View-Controller)**:Spring MVC是Web开发的重要部分,源码中涉及DispatcherServlet、HandlerMapping、ViewResolver等组件,理解它们的工作原理对于Web应用的开发至关重要。 - **事务管理**:...
spring包含了ioc、apo、mybits、springboot、mvc等的讲解 这份文档主要目的不是详细的api讲解。更像是一个敲门砖让你能在很短时间内搭建出框架内、理解各个框架的简单应用原理。让你对开发框架有个概要认识。
Spring MVC是一种基于Java语言的轻量级Web应用框架,它是Spring框架的一个模块,遵循MVC设计模式,将...随着对Spring MVC框架的深入学习,还能够了解如何进行异常处理、表单处理、数据校验、文件上传下载等高级功能。
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。在本篇博文中,我们将深入探讨Spring MVC的核心概念、工作流程以及如何利用它来构建实际的...
通过学习这个"Spring4框架系列[ 1 ]",初学者可以建立起对Spring框架的基本认识,并逐步掌握如何在实际项目中利用Spring进行高效开发。后续章节可能会深入讲解更多高级特性,如数据访问集成、事务管理、Spring Boot...
6. **依赖注入(DI)与Spring**:虽然题目没有明确提及Spring,但许多自定义MVC框架会借鉴Spring的依赖注入机制,以提高代码的可测试性和灵活性。DI允许我们在不直接创建对象的情况下,通过配置文件或注解来管理对象...
本项目“spring-boot-kotlin-app”利用了Spring Boot框架的强大功能,结合Kotlin语言的简洁特性,以及Spring MVC和JAX-RS的规范,为开发者提供了一个高效且灵活的REST服务实现。 **Spring Boot与Kotlin** Spring ...
【标题】"Spring-SpringMVC-MyBatis:基于Spring+Spring MVC+Mybatis的网上商城项目"涉及的是一个完整的Java Web开发框架,利用Spring、Spring MVC和MyBatis来构建一个电子商务平台。这个项目旨在展示如何整合这三个...