Spring MVC的执行流程

参考答案

  1. 整个过程开始于客户端发出的一个HTTP请求,Web应用服务器接收到这个请求。如果匹配DispatcherServlet的请求映射路径,则Web容器将该请求转交给DispatcherServlet处理。
  2. DispatcherServlet接收到这个请求后,将根据请求的信息(包括URL、HTTP方法、请求报文头、请求参数、Cookie等)及HandlerMapping的配置找到处理请求的处理器(Handler)。可将HandlerMapping看做路由控制器,将Handler看做目标主机。值得注意的是,在Spring MVC中并没有定义一个Handler接口,实际上任何一个Object都可以成为请求处理器。
  3. 当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。HandlerAdapter是Spring MVC框架级接口,顾名思义,HandlerAdapter是一个适配器,它用统一的接口对各种Handler方法进行调用。
  4. 处理器完成业务逻 辑的处理后,将返回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和模型数据信息。
  5. ModelAndView中包含的是“逻辑视图名”而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图对象的解析工作。
  6. 当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
  7. 最终客户端得到的响应消息可能是一个普通的HTML页面,也可能是一个XML或JSON串,甚至是一张图片或一个PDF文档等不同的媒体形式。
#23届找工作求助阵地##0offer是寒冬太冷还是我太菜##我的实习求职记录#
全部评论
讲得很详细
1 回复 分享
发布于 2023-02-08 13:15 上海
补充:过滤器在浏览器和前端控制器之间
点赞 回复 分享
发布于 2023-02-13 14:50 广东

相关推荐

投 java编程x4(链表重排 20%、sql 100%、树遍历100%、复杂链表复制 哈希表 100%)电话面 30min网络分层三次握手Httpsk8s接触多少实习项目mysql索引的结构b+树的优势学习上遇到棘手的部分自己的优缺点平时学习的来源有哪些反问主要是java,有部分运维工作,基于阿里云整套电商系统是独立于淘宝的自己开发的saas问是实习岗还是秋招岗 说不清楚要问hr30min实习(项目背景 有什么优化空间)md5加密可以解决什么问题java异常有哪些分类 介绍一下 怎么处理 怎么抛出java怎么读取文件怎么创建线程池线程的上下文传递怎么做 同一个线程怎么做 跨线程怎么做(没答好)设计模式java有哪些命令工具(不会)用http调另外一个地址报了connectiontimeout要怎么分析原因20min讲一个项目(困难、解决、职责)第一份工作看重哪些点城市offer情况薪资期待反问:产品技术部-moss商业化银泰百货2025届校园招聘正式启动关于我们:银泰百货成立于1998年,是一家全面架构在云上的互联网科技百货公司,位居中国百货零售业前列,持续引领百货行业的新零售变革,推出喵街等多个互联网+产品,开创了线上米哈游线下相融合的购物场景和营运模式招聘岗位:品牌经营方向、商品规划方向、服务运营方向、会员运营方向、商品数字化运营方向、物流方向、直播运营方向、店总管培方向工作城市:杭州、武汉、合肥、西安等薪酬福利:具有竞争力的薪酬与长期激励、专属培养计划与快速成长路径、丰厚补助和花样假期与特色福利内推链接:http://talent.intime.com.cn/campus/jobs内推码:ES3PJ1(内推简历优先筛选,后续有流程问题随时联系)大家投递完可以在评论区打上姓名缩写+岗位,我来确认有没有内推成功喽                                                                                         
点赞 评论 收藏
分享
评论
2
9
分享

创作者周榜

更多
牛客网
牛客企业服务