<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          SpringMVC返回null是什么意思?| SpringMVC系列第9篇

          共 1763字,需瀏覽 4分鐘

           ·

          2021-07-20 06:00


          大家好,我是【路人甲 Java】號(hào)主路人,本文如果對(duì)你有幫助,點(diǎn)個(gè)在看,順便忙轉(zhuǎn)發(fā)一下,非常需要大家的支持,對(duì) java 有興趣的朋友歡迎加我微信 itsoku 交流。

          1、回顧一下

          目前為止,springmvc 系列中,已經(jīng)介紹了大量 Controller 的用法,大家有沒(méi)有注意到,目前所有 controller 中的方法接收到請(qǐng)求之后,都是有返回值的,返回值主要有 2 種類(lèi)型:

          1、 輸出的是頁(yè)面:也就是視圖(會(huì)向客戶(hù)端輸出頁(yè)面),此時(shí)方法的返回值可以是 String(視圖名稱(chēng))、ModelAndView(頁(yè)面中有數(shù)據(jù)的情況)

          2、輸出的是 json 格式的數(shù)據(jù):需要用到@ResponseBody 注解

          這 2 種情況中,都是 springmvc 來(lái)處理返回值的,接受到返回值之后,會(huì)調(diào)用 response 來(lái)進(jìn)行頁(yè)面跳轉(zhuǎn)或者調(diào)用輸出流將 json 格式的數(shù)據(jù)輸出。

          2、思考一個(gè)問(wèn)題

          當(dāng)方法的返回值為 void 或者方法中返回 null 的時(shí)候,springmvc 會(huì)怎么處理呢?

          比如下面 2 個(gè)方法:

          @GetMapping("/test1")
          public void test(){
          }

          @GetMapping("/test1")
          public Object test(){
           return null;
          }

          當(dāng)出現(xiàn)上面這 2 種情況的時(shí)候,springmvc 調(diào)用這些方法之后,請(qǐng)求就結(jié)束了,springmvc 會(huì)認(rèn)為在控制器的方法中響應(yīng)已經(jīng)被處理過(guò)了,不需要 springmvc 去處理了。

          3、springmvc 的處理流程

          4、使用場(chǎng)景

          當(dāng)響應(yīng)結(jié)果比較復(fù)雜的時(shí)候,springmvc 無(wú)法處理這些響應(yīng)結(jié)果的時(shí)候,我們可以在控制器的方法中使用 response 來(lái)主動(dòng)控制輸出的結(jié)果。

          比如下載文件、斷點(diǎn)下載文件等比較復(fù)雜的響應(yīng),此時(shí)我們可以在處理器的方法中使用 HttpServletResponse 來(lái)自己控制輸出的內(nèi)容,可以執(zhí)行更細(xì)粒度的操作。

          5、總結(jié)

          到目前我們主要掌握了 3 種類(lèi)型的返回值,工作中基本上最常用的就是這 3 種方式,咱們要掌握好:

          • 第 1 種:返回視圖,即頁(yè)面,此時(shí)返回值可以是 String(視圖名稱(chēng))、或者 ModelAndView

          • 第 2 種:返回 json 格式數(shù)據(jù),需在方法上添加 @ResponseBody 注解

          • 第 3 種:方法返回值為 void 或者 return null;此時(shí)需要我們?cè)诜椒ㄖ凶约和ㄟ^(guò) HttpServletResponse 對(duì)象來(lái)主動(dòng)向客戶(hù)端輸出結(jié)果。

          6、案例代碼

          git地址:https://gitee.com/javacode2018/springmvc-series

          7、SpringMVC 系列

          1. SpringMVC 系列第 1 篇:helloword
          2. SpringMVC 系列第 2 篇:@Controller、@RequestMapping
          3. SpringMVC 系列第 3 篇:異常高效的一款接口測(cè)試?yán)?/a>
          4. SpringMVC 系列第 4 篇:controller 常見(jiàn)的接收參數(shù)的方式
          5. SpringMVC 系列第 5 篇:@RequestBody 大解密,說(shuō)點(diǎn)你不知道的
          6. SpringMVC 系列第 6 篇:上傳文件的 4 種方式,你都會(huì)么?

          8、更多好文章

          1. Spring 高手系列(共 56 篇)
          2. Java 高并發(fā)系列(共 34 篇)
          3. MySql 高手系列(共 27 篇)
          4. Maven 高手系列(共 10 篇)
          5. Mybatis 系列(共 12 篇)
          6. 聊聊 db 和緩存一致性常見(jiàn)的實(shí)現(xiàn)方式
          7. 接口冪等性這么重要,它是什么?怎么實(shí)現(xiàn)?
          8. 泛型,有點(diǎn)難度,會(huì)讓很多人懵逼,那是因?yàn)槟銢](méi)有看這篇文章!

          9、推薦一個(gè)高質(zhì)量的公眾號(hào)

          大家平時(shí)在學(xué)習(xí)技術(shù)的過(guò)程中,苦于找不到高質(zhì)量的學(xué)習(xí)資料的,可以關(guān)注一下【Java 充電社】,這個(gè)號(hào)專(zhuān)注于為大家提供高質(zhì)量的學(xué)習(xí)資源,已發(fā)布了大量高質(zhì)量的學(xué)習(xí)視頻、及資源,大家可以關(guān)注下。

          瀏覽 27
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人操人人插人人摸人人爽人人 | 夜色av一区 | 久久小黄片 | 欧美成人黄色电影网站 | 国产一卡二无码 |