SpringMVC响应数据和结果视图

String类型

String类型的响应是最常用的方式,直接返回一个视图名称,然后通过视图解析器进行解析,返回相应的视图,示例如下:
在这里插入图片描述
这个是前面写的一个demo,直接返回“success”,然后去看一下视图解析器
在这里插入图片描述
可以看到,对String返回类型,视图解析器对前缀和后缀进行了定义,我们到/WEB-INF/pages/下面去找对应的视图
在这里插入图片描述
确实在指定路径下有success.jsp视图

void类型

如果我们返回void类型,会出现什么情况?

这里先给出结论,如果是void类型,SpringMVC会默认去视图解析器指定路径下找RequestMapping定义的同名视图,示例如下:

先定义一个路由
在这里插入图片描述
访问该路由
在这里插入图片描述
在这里插入图片描述
可以看到默认确实是去找了同名视图,其实返回void类型,我们可以通过request进行转发,或者使用response进行重定向,可以达到相同的跳转效果

request转发

SpringMVC获取request的方法前面也已经讲过了,转发同样用到response,直接在参数中标明即可:
在这里插入图片描述
直接写一段转发逻辑,转到我们的success页面
在这里插入图片描述
在这里插入图片描述
成功跳转到了成功页面,而且url不变,表示是一次请求,服务器端的行为

Response重定向

同理,我们来测试void类型下的重定向,示例如下:
在这里插入图片描述
这里没有去尝试跳转到success界面的原因,就是WEB-INF下的所有资源对外不可访问,只能由服务器内部来获取,所以这里无法跳转到该目录下面

ModelAndView类型

ModelAndView和第一种String跳转的方式都差不多,也是通过视图解析器来进行的,示例如下:

在这里插入图片描述
通过ModelAndView返回值跳转,还可以在model中添加参数,添加参数是往request域中添加,我们在success中打印requestSocpe来进行验证:
在这里插入图片描述
返回成功页面
在这里插入图片描述

RespnoseBody响应

使用@ResponseBody实现将返回值以json的形式返回给客户端,先来完成一下前端页面,这里直接在index中添加js内容

引入jquery
链接:https://pan.baidu.com/s/1WMUJJV_DNxCIgvptiuOnhQ
提取码:12yv

测试jquery的引入,这里需要注意,由于前端控制器会以“/”来进行匹配,“/”会拦截所有的请求除了jsp,所以客户端在获取jquery资源的时候也会被拦截,所以我们要取消对静态资源的拦截,需要设置resources为资源目录,否则部署后不可见
在这里插入图片描述
在这里插入图片描述

配置完后就可以测试jquery是否引入成功,如果成功,我们就假定给服务器端发送一个json信息,然后服务器端也会响应一个json

在这里插入图片描述
在这里插入图片描述
测试结果:
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值