springmvc请求图

SpringMVC内部的执行流程
1.用户发起到达中央调度器DispatcherServlet
2.中央调度器DispatcherServlet把请求(some.do)交给了处理器的映射器
处理器的映射器:框架中的一组类,这些类都实现了HandlerMapping接口。
处理器的映射器作用:根据请求的信息(some.do)找到对应的处理器对象(MyControler),
MyController对象是在springmvc的配置文件中定义的,MyController的对象是存放在springmvc的容器中。
意味要从springmvc的容器中获取MyController的对象,
WebApplicationContext ctx = new ...
MyController controller = (MyController)ctx.getBean("some.do");

找到的MyController对象是放在【处理器执行链】的对象中保存。

3.中央调度器DispatcherServlet把【处理器执行链】保存的MyController交给了处理器的适配器
处理器的适配器:框架中的一组类, 都实现HandleAdapater接口。
处理器的适配器作用:能够找到处理器对应的适配器对象,通过适配器对象执行处理器方法(handleRequest())
并把返回值ModelAndView交给了DispatcherServlet

通过处理器的适配器执行处理器方法。返回ModelAndView

4.中央调度器DispatcherServlet把返回值ModelAndView交给了视图解析器
视图解析器:框架中的一组类,这些类都实现了ViewResolver接口
视图解析器作用:组成视图的完整路径,并创建视

5.中央调度器DispatcherServlet调用View的方法,view.render():视图的渲染方法。
view.render()的作用:
1)把ModelAndView中Model的数据放入到request, 执行request.setAttribute();
2)执行对视图View的forward, 执行request.getRequestDispatcher("/WEB-INF/view/show.jsp").forward()

Springmvc完整执行流程图

java--springmvc的更多相关文章

  1. [Java] SpringMVC工作原理之一:DispatcherServlet

    一.DispatcherServlet 处理流程 在整个 Spring MVC 框架中,DispatcherServlet 处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应工作.在看 Di ...

  2. JEECG(二) JEECG框架下调用webservice java springmvc maven 调用 webservice

    JEECG系列教程二 如何在JEECG框架下使用webservice 本文所使用的webservice是c#开发的 其实无论是什么语言开发的webservice用法都一样 java springmvc ...

  3. java springMVC 报400错误问题

    java springMVC 中如果报400错误 很有可能是因为时间转换的问题. 我在项目中就遇到了这个问题,是因为我少引用了一个库,如果是因为时间问题的话添加以下依赖就可以解决. <depen ...

  4. java springMVC SSM 操作日志 4级别联动 文件管理 头像编辑 shiro redis

    A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:313596790freemaker模版技术 ,0个代码不用写 ...

  5. Java SpringMVC实现国际化整合案例分析(i18n)

    所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言,比如说汉语.英语等.下面我将以具体的实例来举例说明: (1)新建动态Javaweb项目,并导入几个SpringMVC必需的 ...

  6. java springmvc Log4j filter等(稍微完善一下项目)

    仅供参考-接上文 springmvc  1.设置Log4jConfigListener日志监听(可以为开发调试.发布后运行的意外调试.等) 在src/main/resources目录下新建log4j. ...

  7. BootStrap-validator 使用记录(JAVA SpringMVC实现)

    BootStrap 是一个强大的前面框架,它用优雅的方式解决了网页问题.最近正在使用其开发网站的表单验证,一点体会记录如下: 注:本文中借鉴了博客Franson 的文章<使用bootstrapv ...

  8. [java]SpringMVC+Swagger实现自动接口

    项目使用SpringMVC+Maven 1.在站点项目的POM文件中引入Swagger的jar包 <properties> <project.build.sourceEncoding ...

  9. 前后端分离跨服务器文件上传-Java SpringMVC版

    近来工作上不上特别忙,加上对后台java了解一点,所以就抽时间,写了一个java版本的前后端分离的跨服务器文件上传功能,包括前后端代码. 一.Tomcat服务器部分 1.Tomcat服务器 单独复制一 ...

  10. Java SpringMVC 定时任务

    1.web.xml 2.spring-mvc.xml <?xml version="1.0" encoding="UTF-8"?> <bean ...

随机推荐

  1. Shader 中的颜色计算

    下面介绍 Shader 中 gl_FragColor 的计算与转换: 一.颜色计算 1. 加 这里要讲讲三原色和三基色:三原色一般指的是红.绿.蓝三种,简称 RGB,这是加色系.就是光源只含有特定的波 ...

  2. MVC框架实例教程 【转载】

    1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  3. spring中@Profile的作用

    根据系统环境的不同,Profile可以用来切换数据源.例如切换开发,测试,生产环境的数据源. 举个例子: 先创建配置类MainProfileConfig: @Configuration @Proper ...

  4. flask核心对象

    appcontext 上下文 处理

  5. Docker下mysql容器开启binlog日志(保留7天)

    现有需求开启用Docker容器启动的mysql数据库的binlog,以作为 日志记录 和 数据恢复,我们了解了MySQL的binlog日志的开启方式以及binlog日志的一些原理和常用操作,我们知道, ...

  6. SpringBoot传参方式

    地址传参 1.创建一个Action类 package com.lion.action; import org.springframework.stereotype.Controller; import ...

  7. Thinkphp5+Layui上传图片

    ThinkPHP是一个免费开源的,快速.简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的.ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能 ...

  8. python-----模块【第一部分】-----

    一.hashlib(md5) import hashlib obj = hashlib.md5('dsfd'.encode('utf-8')) obj.update('123'.encode('utf ...

  9. MySQL_Utilities工具

    需求    Python 2.6    MySQL Connector/Python 连接器 下载地址:    http://dev.mysql.com/downloads/utilities/   ...

  10. XSS跨站攻击靶场-通关笔记

    XSS攻击是Web攻击中最常见的攻击手法之一,XSS中文名跨站脚本攻击,该攻击是指攻击者在网页中嵌入恶意的客户端脚本,通常是使用JS编写的恶意代码,当正常用户访问被嵌入代码的页面时,恶意代码将会在用户 ...