首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

谁在Spring4 Rest控制器中做ViewResolver的工作?&谁在请求后呈现视图?

在Spring4 Rest控制器中,ViewResolver的工作由InternalResourceViewResolver类来完成。该类是Spring框架中的一个视图解析器,用于将逻辑视图名称解析为具体的视图对象。

在请求后呈现视图的过程中,Spring框架会根据请求处理方法的返回值来确定如何呈现视图。如果返回的是一个字符串,Spring会将其作为逻辑视图名称进行解析,并使用ViewResolver来查找对应的视图对象。然后,Spring会将模型数据传递给视图对象,最终将视图呈现给用户。

对于REST控制器,通常会返回一个数据对象(如JSON或XML),而不是一个视图名称。在这种情况下,Spring会使用消息转换器(MessageConverter)来将数据对象转换为相应的格式,并通过HttpServletResponse将其返回给客户端,完成请求后的呈现。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring MVC 到底是如何工作

POJO bean方法(HandlerAdapter接口实现) 按名称解析视图,允许你使用不同模板引擎,XML,XSLT或任何其他视图技术(ViewResolver接口实现) 通过使用默认Apache...处理HTTP请求 首先,我们将简单HTTP请求处理追踪到在控制器一个方法,然后返回到浏览器/客户端。...它基于模型和封装在ModelAndView对象选定视图来完成。 另外请注意,我们可以呈现JSON对象,或XML,或任何可通过HTTP协议传输其他数据格式。...在渲染过程,ModelAndView对象可能已经包含对所选视图引用,或者只是一个视图名称,或者如果控制器依赖于默认视图,则什么都没有。...该解析器知道在哪里搜索视图,并提供相应视图实例。 在调用视图render()方法,Spring最终通过发送HTML页面到用户浏览器来完成请求处理。

1.3K30

【源码】带着问题学 Spring MVC 源码: 一、概述

※ MVC 模式是种经典软件架构,分 Model 模型、View 视图及 Controller 控制器 三种角色。架构意图明显区分三种角色职责,使其不相互依赖。...1. spring-web 模块提供基本 Web 集成功能,包括初始化 IOC 容器等工作。 2. spring-webmvc 包含 MVC 模式实现和 REST Web 服务实现。...org.springframework.web.servlet.view 包, View 视图实现有常见:JSON 、FreeMarker 等。...※ DispatcherServlet 类:调度HTTP请求控制器(或者处理器Handler)。 View 视图层 ModelAndView 类:模型和视图持有者。...该接口实现负责呈现视图或者暴露模型。 Controller 控制层 HandlerMapping 接口: 请求从 DispacherServlet 过来,该接口定义请求和处理程序对象之间映射。

33230
  • Java Web 面试关于Spring MVC必问题,不收藏血亏!

    它提供了模型 - 视图 - 控制器架构,可用于开发灵活Web应用程序。在本教程,我们将重点关注与之相关问题,因为它通常是Spring开发人员面试热点问题。强烈建议收藏!...DispatcherServlet收到请求,调用HandlerMapping处理器映射器,请求获取Handle; 3....DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析; 9. ViewResolver解析返回具体View; 10....@ResponseBody注解使用于Spring MVC控制器处理程序方法上,它表明我们将把方法返回类型直接写入HTTP响应主体而不会将它放在Model,同样不会将其解释为视图名称。...A Spring MVC拦截器允许我们拦截客户端请求并在三个地方处理它 - 在处理之前,处理之后或完成之后(在呈现视图时)。

    1.7K10

    Java EE之SSM框架整合开发 -- (9) Spring MVC入门

    9.1.1 MVC模式 MVC是Model、View和Controller缩写: 模型:用于存储数据库以及处理用户请求业务逻辑。 视图:向控制器提交数据,显示模型数据。...控制器:根据视图提出请求判断将请求和数据交给哪个模型处理,将处理有关结果交给哪个视图更新显示。 下图是基于ServletMVC模式流程图: ?...从宏观角度考虑,DispatcherServlet是整个Web应用控制器;从微观考虑,Controller是单个Http请求处理过程控制器,而ModelAndView是Http请求过程返回模型...ViewResolver主要作用是把一个逻辑上视图名称解析为一个真正视图,SpringMVC中用于把View对象呈现给客户端是View对象本身,而ViewResolver只是把逻辑视图名称解析为对象...2、通过SpringMVC视图解析器,使用ViewResolver控制器返回ModelAndView对象进行解析,将逻辑视图转换成物理视图

    95950

    Spring MVC 工作原理解析

    ViewResolver 解析视图 DispatcherServlet 将 ModelAndView 对象传递给 ViewResolver,它根据视图名称解析出实际视图对象。 7....视图(View) 视图是用户界面的表示,它负责将模型数据呈现给用户。视图通常是用户可以看到和交互部分,它可以是网页、图形界面或者命令行界面等。...视图主要责任是将模型数据以用户友好方式呈现出来,通常包括以下功能: 数据显示: 将模型数据以适当格式呈现给用户。 用户交互: 接收用户输入和操作,并将其传递给控制器进行处理。...请求转发: 根据用户操作来决定转发到哪个视图进行显示。 在 MVC 控制器负责协调模型和视图之间交互,并根据应用程序需求来决定如何处理用户请求。...控制器通常是应用程序逻辑中心,它负责处理用户所有请求,并将请求委托给适当模型和视图进行处理和显示。

    23810

    浅谈 SpringMVC 执行过程

    url表示为:请求位于服务器localhost:9999上SpringMVC站点input-product控制器 2.HandlerMapping为处理器映射。...url查找控制器,如上url被查找控制器为:input-product 4.HandlerExecution将解析信息传递给DispatcherServlet,如解析控制器映射等 5.HandlerAdapter...传递逻辑视图名 10.视图解析器将解析逻辑视图名传给DispatcherServlet 11.DispatcherServlet根据视图解析器解析视图结果,调用具体视图 12.最终视图呈现给用户...图片 (二)HandlerMapping HandlerMapping主要用来解析请求url,解析出控制器,从而映射控制器,其相关类有16个。 ?...图片 (四)ViewResolver ViewResolver接口主要作用是解析DispatcherServlet传递逻辑视图名,并将解析结果传回给DispatcherServlet。

    45830

    浅谈SpringMVC执行过程

    通过分析,如上url表示为:请求位于服务器localhost:9999上SpringMVC站点input-product控制器 2.HandlerMapping为处理器映射。...url查找控制器,如上url被查找控制器为:input-product 4.HandlerExecution将解析信息传递给DispatcherServlet,如解析控制器映射等 5.HandlerAdapter...传递逻辑视图名 10.视图解析器将解析逻辑视图名传给DispatcherServlet 11.DispatcherServlet根据视图解析器解析视图结果,调用具体视图 12.最终视图呈现给用户...(二)HandlerMapping HandlerMapping主要用来解析请求url,解析出控制器,从而映射控制器,其相关类有16个。 ? 如下为HandlerMappingUML图 ?...(四)ViewResolver ViewResolver接口主要作用是解析DispatcherServlet传递逻辑视图名,并将解析结果传回给DispatcherServlet。

    56030

    springMVC执行流程

    通过分析,如上url表示为:请求位于服务器localhost:9999上SpringMVC站点input-product控制器 2.HandlerMapping为处理器映射。...url查找控制器,如上url被查找控制器为:input-product 4.HandlerExecution将解析信息传递给DispatcherServlet,如解析控制器映射等 5.HandlerAdapter...8.HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet 9.DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter...传递逻辑视图名 10.视图解析器将解析逻辑视图名传给DispatcherServlet 11.DispatcherServlet根据视图解析器解析视图结果,调用具体视图 12.最终视图呈现给用户...(四)ViewResolver ViewResolver接口主要作用是解析DispatcherServlet传递逻辑视图名,并将解析结果传回给DispatcherServlet。

    51630

    SpringIoC和SpringMVC快速入门

    没有IoC程序我们使用面向对象编程对象创建与对象间依赖关系完全硬编码在程序,对象创建由程序自己控制,而使用控制反转,将对象创建转移给第三方。 ?...SpringMVC类里面可以通过RequestMapping处理很多请求,并且支持Rest风格请求,如DELETE/PUT等;SpringMVC参数映射可以直接封装成实体类。...前端控制器DispatcherServlet收到请求调用处理器映射器HandlerMapping。...前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver视图解析器ViewResolver解析返回具体视图View。...MVC流程模块: DispatcherServlet:前端控制器(不需要程序员开发) 用户请求到达前端控制器,它相当于MVC模式C(Controller),DispatcherServlet是整个流程控制中心

    39120

    Spring MVC工作流程以及请求处理流程

    具体执行步骤如下: 1、首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前控制器控制逻辑部分;图2-11、2步骤;...2、页面控制器接收到请求,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕返回一个...ModelAndView(模型数据和逻辑视图名);图2-13、4、5步骤; 3、前端控制器收回控制权,然后根据返回逻辑视图名,选择相应视图进行渲染,并把模型数据传入以便视图渲染;图2-1步骤...在填充Handler入参过程,根据你配置,Spring将帮你一些额外工作: HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定响应信息数据转换...Spring容器ViewResolver)返回给DispatcherServlet ; ViewResolver 结合Model和View,来渲染视图 将渲染结果返回给客户端。

    40020

    【面试篇】SpringMVC工作流程「建议收藏」

    处理请求流程 首先用户发送请求————>前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前控制器控制逻辑部分; 页面控制器接收到请求...,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕返回一个ModelAndView(模型数据和逻辑视图名...); 前端控制器收回控制权,然后根据返回逻辑视图名,选择相应视图进行渲染,并把模型数据传入以便视图渲染; 前端控制器再次收回控制权,将响应返回给用户,至此整个结束。...在填充Handler入参过程,根据你配置,Spring将帮你一些额外工作: HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定响应信息数据转换...Spring容器ViewResolver)返回给DispatcherServlet ; ViewResolver 结合Model和View,来渲染视图 将渲染结果返回给客户端。

    33910

    Spring MVC框架

    Spring MVC具体工作流程 1.用户发起请求到前端控制器(Controller)DispatcherServlet。...在填充Handler入参过程,根据你配置,Spring将帮你一些额外工作: HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定响应信息...5.Handler执行完成,向DispatcherServlet 返回一个ModelAndView对象; 6.根据返回ModelAndView,选择一个适合ViewResolver(必须是已经注册到...Spring容器ViewResolver)返回给DispatcherServlet ; 7.视图解析器(ViewResolver)返回真正视图对象(View)。...(此时前端控制器既有视图又有Model对象数据)前端控制器根据模型数据和视图对象,进行视图渲染。返回渲染视图(html/json/xml). 8.将渲染结果返回给客户端。

    75720

    Spring Framework 学习笔记(3) Sping MVC

    Spring MVC 与许多其他 Web 框架一样,是围绕前端控制器模式( front controller )设计,其中DispatcherServlet为请求处理提供统一入口,而实际工作由委托组件处理...将请求转发到具体选定控制器(Controller),Controller 负责访问服务和数据库获得 模型( Model ),并返回一个视图名称。...8和9、DispactcherServlet 将视图呈现内容返回,响应到请求内容给客户端。...Form 表单 请求路径 示例: 使用 @RequestParam 读取查询字符串或表单数据参数值 @GetMapping public String setupForm...标注方法 在标注了 @ControllerAdvice ,上述三个方法会运用到整个应用程序所有控制器带有 @RequestMapping 方法上。

    66220

    简单讲一下SpringMVC执行流程?

    (附注:如果成功获得HandlerAdapter,此时将开始执行拦截器preHandler(…)方法) 提取Request模型数据,填充Handler入参,开始执行Handler(Controller...在填充Handler入参过程,根据你配置,Spring将帮你一些额外工作: HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定响应信息...如将字符串转换成格式化数字或格式化日期等; 数据验证: 验证数据有效性(长度、格式等),验证结果存储到BindingResult或Error; Handler执行完成,向DispatcherServlet...返回一个ModelAndView对象; 根据返回ModelAndView,选择一个适合ViewResolver(必须是已经注册到Spring容器ViewResolver)返回给DispatcherServlet...(jsp、freemarker、pdf…) 快速记忆技巧: 核心控制器捕获请求、 查找Handler、 执行Handler、 选择ViewResolver、 通过ViewResolver渲染视图并返回

    8.6K40

    2022年Java秋招面试必看 | Spring MVC面试题

    ) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。...控制器提供一个访问应用程序行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户模型。...答:是单例模式,所以在多线程访问时候有线程安全问题,不要用同步,会影响性能,解决方案是在控制器里面不能写字段。 三.工作原理 7、请描述Spring MVC工作流程?...图片 (1)用户发送请求至前端控制器DispatcherServlet; (2) DispatcherServlet收到请求,调用HandlerMapping处理器映射器,请求获取Handle; (...; (9)ViewResolver解析返回具体View; (10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中) (11)DispatcherServlet

    79430

    SpringMvc基础知识

    Spring Web MVC也是服务到工作者模式实现,但进行可优化。...前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为...√提供强大约定大于配置契约式编程支持; √能简单进行Web层单元测试; √支持灵活URL到页面控制器映射; √非常容易与其他视图技术集成,如Velocity、Thymeleaf、FreeMarker...3.Spring Web MVC 核心架构 核心架构具体流程步骤如下: 1、 首先用户发送请求——>DispatcherServlet,前端控制器收到请求自己不进行处理,而是委托给其他解析器进行处理...ModelAndView逻辑视图名——> ViewResolverViewResolver将把逻辑视图名解析为具体View,通过这种策略模式,很容易更换其他视图技术; 6、 View——>渲染

    50230

    460道Java后端面试高频题答案版【模块十:SpringMVC】

    View(视图):是程序呈现给用户部分,是用户和程序交互接口,用户会根据具体业务需求,在 View 视图层输入自己特定业务数据,并通过界面的事件交互,将对应输入参数提交给后台控制器进行处理。...控制器接收了用户与界面交互时传递过来数据,并根据数据业务逻辑来执行服务调用和更新业务模型数据和状态。 2、SpringMVC 工作原理/执行流程?...会根据 Handler 来调用真正处理器来处理请求,并处理相应业务逻辑 -> 处理器返回一个模型视图 ModelAndView -> 视图解析器进行解析 -> 返回一个视图对象 -> 前端控制器...在填充 Handler 入参过程,根据你配置,Spring 将帮你一些额外工作: (1)HttpMessageConveter:将请求消息(如:Json、xml 等数据)转换成一个对象,将对象转换为指定响应信息...根据返回 ModelAndView,选择一个适合 ViewResolver(必须是已经注册到 Spring 容器 ViewResolver)返回给DispatcherServlet; 7.

    94160

    springmvc执行流程

    执行流程分析 HanderMapping 请求映射处理器 HandlerAdapter 处理器适配器 ViewResolver 视图解析器 ?...,此时将开始执行拦截器preHandler(…)方法); 提取Request模型数据,填充Handler入参,开始执行Handler(Controller)。...在填充Handler入参过程,根据你配置,Spring将帮你一些额外工作: HttpMessageConveter(网页信息转换): 将请求消息(如Json、xml等数据)转换成一个对象,将对象转换为指定响应信息...(分发器) 返回一个ModelAndView对象; 根据返回ModelAndView,选择一个适合ViewResolver(必须是已经注册到Spring容器ViewResolver)返回给DispatcherServlet...; ViewResolver 结合Model和View,来渲染视图 将渲染结果返回给客户端。

    53120

    最新SpringMVC面试题精选

    ); 处理器适配器(HandlerAdapter); 视图解析器(ViewResolver)。...时映射策略 ModelAndView: 服务层返回数据和视图封装类 ViewResolver视图解析器,解析具体视图 Interceptors : 拦截器,负责拦截我们定义请求然后处理工作...控制器提供一个访问应用程序行为,此行为通常通过服务接口实现。控制器解析用户输入并将其转换为一个由视图呈现给用户模型。...1.8 简述一下DispatcherServlet 工作流程 用户发送请求至前端控制器DispatcherServlet; DispatcherServlet收到请求,调用HandlerMapping...ViewResolver解析返回具体View; DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中) DispatcherServlet响应用户。

    1.9K20
    领券