springmvc内部请求的处理流程;也就是springmvc接收请求,到处理完成的过程

1.用户发起请求some.do

2.DispatcherServlet接收请求some.do,把请求转交给处理器映射器

处理器映射器:springmvc框架中的一种对象,框架把实现了HandlerMapping接口的类都叫做映射器(多个)
处理器映射器的作用:根据请求,从springmvc容器对象中获取处理器对象(MyController controller=ctx.getBean("some.do"))
框架把找到的处理器对象放到一个叫做处理器执行链(HandlerExcutionChain)的类保存

HandlerExecutionChain:类中保存着:1.处理器对象(MyController);2.项目中所有的拦截器List<HandlerInterceptor> interceptorList

方法调用: HandlerExecutionChain mappedHandler=getHandler(processeRequest);

3.DispatcherServlet把2中的HandlerExecutionChain中的处理器对象交给处理器适配器对象(多个)

处理器适配器:springmvc框架中的对象,需要实现HandlerAdapter接口
处理器适配器作用:执行处理器方法(调用MyController.doSome()得到返回值(ModelAndView))

中央调度器调用适配器:HandlerAdapter ha=getHandlerAdapter(mappedHandler.getHandler());
执行处理器方法:mv=ha.handle(processeddRequest, response,mappedHandler.getHandler());

4.DispatcherServlet把3中获取的ModelAndView交给视图解析器对象

视图解析器:springmvc中的对象,需要实现ViewResoler接口(可以有多个)
视图解析器作用:组成视图完整路径,使用前缀,后缀,并创建View对象
View是一个接口,表示视图的,在框架中jsp,html不是string表示,而是使用View和它的实现类表示视图

InternalResourceView:视图类,表示jsp文件,视图解析器会创建InternalResourceView对象
这个对象的里面,有一个属性url=/WEB-INF/view/show.jsp

5.DispatcherServlet把4步骤中创建的view对象获取到,调用View类自己的方法,把Model数据放入到request作用域
执行对象视图的forward,请求结束

SpringMVC处理请求的过程的更多相关文章

  1. SpringMVC处理客户端请求的过程

    SpringMVC处理客户端请求的过程 以程序部署在Tomcat上为例,网站程序使用SpringMVC框架开发. 1.客户端发起一个访问网站的请求(如: localhost:8080/index). ...

  2. SpringBoot对比SpringMVC,SpringMVC 处理请求过程

    (问较多:1.SpringBoot对比SpringMVC.2.SpringMVC 处理请求过程.问:springboot的理解 Spring,Spring MVC,Spring Boot 三者比较 S ...

  3. Spring框架系列(14) - SpringMVC实现原理之DispatcherServlet处理请求的过程

    前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet ...

  4. 16 SpringMVC 的请求参数的绑定与常用注解

    1.SpringMVC 绑定请求参数 (1)支持的数据类型 基本类型参数: 包括基本类型和 String 类型POJO 类型参数: 包括实体类,以及关联的实体类数组和集合类型参数: 包括 List 结 ...

  5. Java Web容器的启动与处理请求的过程

    容器启动时的加载顺序 一.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<context-param>结点.二.容创建一个ServletContext(ser ...

  6. live555学习之RTSP连接建立以及请求消息处理过程

    1,RTSP连接的建立过程    RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话.    首先创建RTSP服务 ...

  7. HTTP请求响应过程 与HTTPS区别

    原文:HTTP请求响应过程 与HTTPS区别 HTTP协议学习笔记,基础,干货 HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏 ...

  8. Asp.Net请求响应过程

    Asp.Net请求响应过程 在之前,我们写了自己的Asp.Net框架,对整个流程有了一个大概的认识.这次我们来看一下Asp.Net整个请求处理过程是怎么样的. 浏览器封装请求报文,发送请求到达服务器, ...

  9. live555_RTSP连接建立以及请求消息处理过程

    1,RTSP连接的建立过程    RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话.    首先创建RTSP服务 ...

  10. (转)关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、目录结构、设置压缩和对中文文件名的支持、以及Catalina这个名字的由来……等)

    转自:http://itfish.net/article/41668.html   总结Tomcat的体系架构.处理http请求的过程.安装和配置.目录结构.设置压缩和对中文文件名的支持.以及Cata ...

随机推荐

  1. 2023人形全能赛体操机器人uno代码

    uno // @Author : Hcm #include <SoftwareSerial.h> // 软串口 #include <LobotServoController.h> ...

  2. Photoshop 2025超详细保姆级下载安装教程(直装版)

    目录 一.Photoshop 2025软件简介 二.Photoshop 2025下载与安装教程(详细步骤) 三.Photoshop 2025核心功能亮点 四.Photoshop 2025常见问题与注意 ...

  3. 数栈技术分享:解读MySQL执行计划的type列和extra列

    一.解读type 执行计划的type表示访问数据类型,有很多种访问类型. 1.system表示这一步只返回一行数据,如果这一步的执行对象是一个驱动表或者主表,那么被驱动表或者子查询只是被访问一次. 2 ...

  4. MD-ML: Super Fast Privacy-Preserving Machine Learning for Malicious Security with a Dishonest Majority

    这是上交团队发表在USENIX2024上的文章. 1 介绍 1.1 \(\text{MPC}\)和\(\text{PPML}\) 假设一个多方的场景,参与方分别持有数据\(x,y,z,w\),如果现在 ...

  5. 6-nn.Module模块使用

    1. nn.Module模块使用 ① nn.Module是对所有神经网络提供一个基本的类. ② 我们的神经网络是继承nn.Module这个类,即nn.Module为父类,nn.Module为所有神经网 ...

  6. 阻止vue组件vuedraggable在使用时打开浏览器新标签

    前言 浏览器在文字拖动时会打开链接,图片拖动时打开新窗口,这是浏览器的特性. vue-draggable组件就是需要拖动的,就与这个特性契合了,但大多时候在项目中我们不需要这个特性. 解决方式 需要在 ...

  7. cf908(div2)题解(补题)

    第一次akdiv2,赛后ak怎么不算是ak呢 比赛链接cf908div2 A 这题是个骗人题,整个比赛会停下来就是一个人赢够了回合数,那么在谁这停下来就是谁赢了整个比赛,不用管每回合赢得规则. #in ...

  8. vue2使用vue3语法

    Composition API Composition API 将是 Vue 3 的核心功能,它具有许多更改和性能改进. 我们也可以在 Vue 2 中通过 npm 插件@vue/composition ...

  9. windows11安装linux

    安装教程 https://blog.csdn.net/Daisy74RJ/article/details/125483629 可能遇到的问题 如果报错 则参考 WslRegisterDistribut ...

  10. s40破解证书

    说明因为怀旧,淘了个诺基亚5130xm.打开jar软件(比如QQ音乐,Anyview)后发现个问题,老是频繁弹出"是否同意读取用户数据"的弹窗而这些软件可能没有证书,没有证书的话意 ...