欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一篇文章帶你了解Java SpringMVC返回null

 更新時(shí)間:2021年10月26日 15:24:01   作者:路人甲Java  
這篇文章主要介紹了Spring MVC返回null,文中講的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1、回顧一下

大家有沒有注意到,目前講到的所有 controller 中的方法接收到請求之后,都是有返回值的,返回值主要有 2 種類型:

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

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

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

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

當(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)用這些方法之后,請求就結(jié)束了,springmvc 會(huì)認(rèn)為在控制器的方法中響應(yīng)已經(jīng)被處理過了,不需要 springmvc 去處理了。

3、springmvc 的處理流程

4、使用場景

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

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

5、總結(jié)

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

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

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

第 3 種:方法返回值為 void 或者 return null;此時(shí)需要我們在方法中自己通過 HttpServletResponse 對象來主動(dòng)向客戶端輸出結(jié)果。

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Shiro中session超時(shí)頁面跳轉(zhuǎn)的處理方式

    Shiro中session超時(shí)頁面跳轉(zhuǎn)的處理方式

    這篇文章主要介紹了Shiro中session超時(shí)頁面跳轉(zhuǎn)的處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • java 接口回調(diào)實(shí)例詳解

    java 接口回調(diào)實(shí)例詳解

    這篇文章主要介紹了java 接口回調(diào)實(shí)例詳解的相關(guān)資料,所謂回調(diào)就是使用java中的多態(tài),需要的朋友可以參考下
    2017-07-07
  • SpringBoot加載不出來application.yml文件的解決方法

    SpringBoot加載不出來application.yml文件的解決方法

    這篇文章主要介紹了SpringBoot加載不出來application.yml文件的解決方法,文中通過示例代碼講解的非常詳細(xì),對大家的學(xué)習(xí)或者工作有一定的幫助,需要的朋友跟著小編來一起來學(xué)習(xí)吧
    2023-12-12
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(35)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(35)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • 教你怎么用Idea打包jar包

    教你怎么用Idea打包jar包

    這篇文章主要介紹了教你怎么用Idea打包jar包,文中有非常詳細(xì)的代碼示例,對剛開始使用IDEA的小伙伴們很有幫助喲,需要的朋友可以參考下
    2021-05-05
  • Java之next()、nextLine()區(qū)別及問題解決

    Java之next()、nextLine()區(qū)別及問題解決

    這篇文章主要介紹了Java之next()、nextLine()區(qū)別及問題解決,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 淺談Java線程間通信方式

    淺談Java線程間通信方式

    這篇文章主要為大家詳細(xì)介紹了Java線程間的通信方式,以代碼結(jié)合文字的方式來討論線程間的通信,感興趣的朋友可以參考一下
    2021-11-11
  • Struts2學(xué)習(xí)教程之?dāng)r截器機(jī)制與自定義攔截器

    Struts2學(xué)習(xí)教程之?dāng)r截器機(jī)制與自定義攔截器

    這篇文章主要給大家介紹了關(guān)于Struts2學(xué)習(xí)基礎(chǔ)教程之?dāng)r截器機(jī)制與自定義攔截器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解

    Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解

    這篇文章主要介紹了Java基礎(chǔ)之switch分支結(jié)構(gòu)詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很大的幫助,需要的朋友可以參考下
    2021-05-05
  • Java中拷貝list數(shù)組幾種常見的方法

    Java中拷貝list數(shù)組幾種常見的方法

    這篇文章主要給大家介紹了關(guān)于Java中拷貝list數(shù)組幾種常見的方法,在Java中,List是一個(gè)接口,它有多個(gè)實(shí)現(xiàn)類,如ArrayList、LinkedList等,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08

最新評論