springmvc-dispatcherserlet

springmvc dispatcherselvet核心,负责截获请求分派给对应的处理器处理

springmvc

包括 注解驱动控制器、请求及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理、表单标签绑定等内容

从接收请求到相应,springmvc框架众多组件通力合作 各司其职 有条不紊的完成分内的工作,在整个宽家中,dispatcherselver出于核心位置

他负责协调和组织不同组件以完成请求返回响应的工作,和大多数webmvc框架一样,springmvc通过一个前端servler清收所有的请求

并将具体工作委托给其他组件进行处理,dispatchservlet就是springmvc的前端处理器。下面对springmvc处理请求的整体过程讲解

1)整过过程始于客户端发出的一个http请求,web应用服务器接收到这个请求,如果匹配dispatcherserlet的请求映射路径(在web.xml中指定),

则web容器将请求转发给dispatcherserlet处理

2)dispatcherserlet接收到这个请求后,并根据请求的信息,包括url、http方法、请求头保温、请求参数、cookie等以及handlermapping的配置

找到处理请求的处理器,可将handlermapping看做路由控制器,将handler看做目标主机,指的注意的是,在springmvc中没有有指定一个handler接口,实际

上,任何一个object都可以成为请求处理器

3)当dispatcherserlet根据handlermaping得到对应请求的handler后,通过handleradapter 对handler进行封装,再以统一的适配器接口调用handler,

handleradapter是springmvc的框架级别接口,顾名思义,hangdleradapter 是一个适配器,它用统一的接口对各种handler方法进行调用

4)处理玩业务逻辑的处理后将返回一个modelandview给dispatcherserlet,modelandview包括了逻辑名和模型数据

5)modelandview中包含的是逻辑视图名而非真正的试图对象。dispatcherserlet借由viewresolver完成逻辑视图名到真实视图对象的解析工作。

6)得到真实的视图对象view后,dispatcherserlet就是用这个vuew对象对modelandview中的模型数据进行视图渲染

7)最终客户端得到的响应信息可能是一个普通的html页面。也可能是一个xml或者json串,甚至是一张图片或者一个pdf文档等不同的媒体形式

相关推荐
槑有烦恼8 小时前
Java 字符串 & List集合 高频易错真题复盘(含全部错题+修正)
java
语戚8 小时前
力扣 1621. 大小为K的不重叠线段的数目:动态规划(Java 实现)
java·算法·leetcode·动态规划·力扣·dp
君顾19 小时前
本地托管机构管理源码实战:需求拆解、数据建模与多端部署
java·开发语言·托管
青山木9 小时前
Hot 100 --- 最长有效括号
java·数据结构·算法·leetcode·动态规划
xcl09259 小时前
本地电竞服务交易系统架构设计与实战:从同城匹配到订单履约
java·spring boot
曹牧9 小时前
SVN 上查找文件
java
加贝哥|usun9 小时前
maven项目从外网搬迁至内网-本地仓库(不搭建私服)
java
paopaokaka_luck9 小时前
小学非遗科普平台(AI 非遗科普问答,ECharts学情数据、非遗资源分类与审核,资源收藏下载与学习记录,学习任务发布和作品评分,活动报名签到与统计)
java·人工智能·spring·信息可视化·数据分析·echarts
Yize.10 小时前
Spring Task定时任务全解析:从入门到实战
java·spring
莫陌尛.11 小时前
etcd与Nacos功能及场景对比文档
java