Spring DispatcherServlet视图解析

在上一篇文章中,我们了解了Springa DispatcherServlet是如何进行请求分发的。接下来,将介绍spring是如何找到需要的页面的。

下面是更好理解的一张图。

        在SpringMVC中,控制器可返回三种类型的值,分别是:

        (1) 字符串

        (2) ModelAndView对象

        (3) json数组

1、当返回值为字符串时,通过ModelAndView构造函数,传入返回的字符串,构造出一个ModelAndView对象。然后进行页面渲染

这时,返回的字符串加上配置文件中配置的前缀和后缀,就是该实图在项目中的路径。

2、当返回值为ModelAndView时,这是规范的视图名称,此时不需要进行对象的封装。

3、当控制器被@ResponseBody修饰的时候,返回值可以是json数组的形式。此时的返回值会在response被返回之前加到response的body部分。

        实际上,通过源代码的追踪,可以看到在进行视图解析的时候,无论是返回字符串还是ModelAndView对象,后台都是按照ModelAndView对象进行处理的。当指定名称的视图不存在的时候,IDEA就会弹出错误提示如图的错误。

关于视图渲染的详细过程,请查看文章结尾的参考博文。

参考博文:https://blog.csdn.net/xcl522/article/details/41356405

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值