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
分享到:
相关推荐
适合新手了解认识spring mvc,和搭建spring mvc 框架
根据这个doc 文件可以搭建一个简单的Spring mvc demo 框架,简单使用。相信实际用过之后会对Spring mvc 有一个全新的认识
本文致力于由浅入深的去介绍,使用Spring MVC;...使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架,如Struts1(现在一般不
spring包含了ioc、apo、mybits、springboot、mvc等的讲解 这份文档主要目的不是详细的api讲解。更像是一个敲门砖让你能在很短时间内搭建出框架内、理解各个框架的简单应用原理。让你对开发框架有个概要认识。
认识 Spring 来认识 Spring 的一些特性,并初步了解一下什么叫作 IoC?什么叫作 DI? 简介 Spring Inversion of Control Dependency Injection <br> 核心容器 Spring 核心容器实作...
第1章认识Spring ...Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache许可证形式发布,也有.NET平台上的移植版本 喜欢Java web开发的童鞋可以上手Spring MVC
第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。 第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...
spring mvc spring boot 邮箱,定时任务 spring webflux spring bot redis 相关 spring boot mysql 相关 spring cloud 系列 spring cloud 组件认识 微服务 什么是微服务?微服务之间是如何独立通讯的? 微服务与传统...
综合运用前面章节相关概念与原理,设计和开发一个企业信息管理系统,通过本实验项目的练习,有助于学生对Spring、MyBatis、Spring MVC技术的了解和认识,提高项目开发实践能力。主要内容为对项目进行需求分析,规划...
第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 通过容器完成依赖...
本书从源代码分析入手,对Spring的架构原理和设计思想进行了全面剖析,不仅能让我们更深入、更彻底地认识Spring,领略Spring的架构之美和设计之美,而且更重要的是,它将全面提升我们的Spring开发技能。., ——...
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 通过容器完成依赖...
2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1...
学习一个新的技术时,其实不在于跟着...视图框架:Spring MVC 服务端验证:Hibernate + Validator 布局框架:SiteMesh 工作流引擎:Activiti 任务调度:Spring Task + Quartz 持久层框架: MyBatis + MyBatis-P
2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 ...
类似JSP,Velocity,FreeMaker等, 它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比, Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个...
5.1mvc框架 80 5.1.1model1与model2 80 5.1.2mvc设计模式 81 5.1.3struts2框架的mvc架构 82 5.2struts2概览 84 5.2.1struts2的工作流程 84 5.2.2struts2的简单应用 85 5.3struts2基础 87 5.3.1action详解 ...
Admin项目是根据JeeSite 4.0进行改造的一个Java EE企业级快速开发平台,基于经典技术组合(Spring Boot,Spring MVC,Apache Shiro,Flyway,Beetl,BeetlSQL,Bootstrap,AdminLTE),在线代码生成功能,包括核心...