Java充电社
专辑
博文
联系我
本人继续续收门徒,亲手指导
SpringMVC教程
-> SpringMVC返回null是什么意思?
1、Helloword
2、@Controller、@RequestMapping
3、接口测试利器
4、如何接受请求中的参数?
5、@RequestBody接收Json格式数据
6、多文件上传
7、返回页面常见的5种方式
8、返回json格式数据 & 通用返回值设计
9、SpringMVC返回null是什么意思?
10、异步处理请求
11、如何集成静态资源?
12、拦截器怎么用?
13、统一异常处理
14、实战篇:通用返回值 & 异常处理设计
15、全注解的方式 & 原理解析
16、源码解析SpringMVC处理请求的流程
17、源码解析SpringMVC容器的启动过程
18、RequestBodyAdvice:对@ReuqestBody进行增强
19、ResponseBodyAdvice:对@ResponseBody进行增强
20、RESTful接口详解
21、接口调用利器RestTemplate
22、参数解析器HandlerMethodArgumentResolver解密
23、@RequestParam用法及原理详解
24、@RequestBody原理解密
25、@RequestHeader详解
26、@CookieValue详解
27、@RequestAttribute详解
28、@SessionAttribute详解
29、重定向和转向详解
30、Converter转换器详解
31、跨域问题详解
32、类容协商,颠覆你的认知
33、终章
34、CORS通信
35、浏览器安全策略 & CORS
36、Http中的Content-Type详解
上一篇:返回json格式数据 & 通用返回值设计
下一篇:异步处理请求
<div style="display:none"></div> **大家好,我是路人,本文如果对你有帮助,点个在看,顺便忙转发一下,非常需要大家的支持,对java有兴趣的朋友欢迎加我微信itsoku交流。** ## 1、回顾一下 目前为止,springmvc系列中,已经介绍了大量Controller的用法,大家有没有注意到,目前所有controller中的方法接收到请求之后,都是有返回值的,返回值主要有2种类型: 1、 输出的是页面:也就是视图(会向客户端输出页面),此时方法的返回值可以是String(视图名称)、ModelAndView(页面中有数据的情况) 2、输出的是json格式的数据:需要用到@ResponseBody注解 这2种情况中,都是springmvc来处理返回值的,接受到返回值之后,会调用response来进行页面跳转或者调用输出流将json格式的数据输出。 ## 2、思考一个问题 当方法的返回值为void或者方法中返回null的时候,springmvc会怎么处理呢? 比如下面2个方法: ```java @GetMapping("/test1") public void test(){ } @GetMapping("/test1") public Object test(){ return null; } ``` **当出现上面这2种情况的时候,springmvc调用这些方法之后,请求就结束了,springmvc会认为在控制器的方法中响应已经被处理过了,不需要springmvc去处理了。** ## 3、springmvc的处理流程 ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/220/abd3aa52-f1c6-4bc0-8590-b1cc3cfabfa2.png) ## 4、使用场景 当响应结果比较复杂的时候,springmvc无法处理这些响应结果的时候,我们可以在控制器的方法中使用response来主动控制输出的结果。 比如下载文件、断点下载文件等比较复杂的响应,此时我们可以在处理器的方法中使用HttpServletResponse来自己控制输出的内容,可以执行更细粒度的操作。 ## 5、总结 到目前我们主要掌握了3种类型的返回值,工作中基本上最常用的就是这3种方式,咱们要掌握好: - 第1种:返回视图,即页面,此时返回值可以是String(视图名称)、或者ModelAndView - 第2种:返回json格式数据,此时需要用到@ResponseBody注解 - 第3种:方法返回值为void或者return null;此时需要我们在方法中自己通过HttpServletResponse对象来主动向客户端输出结果。 ## 6、案例代码 ```html git地址:https://gitee.com/javacode2018/springmvc-series ``` <a style="display:none" target="_blank" href="https://mp.weixin.qq.com/s/_S1DD2JADnXvpexxaBwLLg" style="color:red; font-size:20px; font-weight:bold">继续收门徒,亲手带,月薪 4W 以下的可以来找我</a> ## 最新资料 1. <a href="https://mp.weixin.qq.com/s?__biz=MzkzOTI3Nzc0Mg==&mid=2247484964&idx=2&sn=c81bce2f26015ee0f9632ddc6c67df03&scene=21#wechat_redirect" target="_blank">尚硅谷 Java 学科全套教程(总 207.77GB)</a> 2. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484192&idx=1&sn=505f2faaa4cc911f553850667749bcbb&scene=21#wechat_redirect" target="_blank">2021 最新版 Java 微服务学习线路图 + 视频</a> 3. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484573&idx=1&sn=7f3d83892186c16c57bc0b99f03f1ffd&scene=21#wechat_redirect" target="_blank">阿里技术大佬整理的《Spring 学习笔记.pdf》</a> 4. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247484544&idx=2&sn=c1dfe907cfaa5b9ae8e66fc247ccbe84&scene=21#wechat_redirect" target="_blank">阿里大佬的《MySQL 学习笔记高清.pdf》</a> 5. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485167&idx=1&sn=48d75c8e93e748235a3547f34921dfb7&scene=21#wechat_redirect" target="_blank">2021 版 java 高并发常见面试题汇总.pdf</a> 6. <a href="https://mp.weixin.qq.com/s?__biz=MzkwOTAyMTY2NA==&mid=2247485664&idx=1&sn=435f9f515a8f881642820d7790ad20ce&scene=21#wechat_redirect" target="_blank">Idea 快捷键大全.pdf</a> ![](https://itsoku.oss-cn-hangzhou.aliyuncs.com/itsoku/blog/article/1/2883e86e-3eff-404a-8943-0066e5e2b454.png)
#custom-toc-container