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

關(guān)于@Controller和@Restcontroller的那點(diǎn)奇葩事

 更新時(shí)間:2022年02月22日 10:53:19   作者:龍大盜  
這篇文章主要介紹了關(guān)于@Controller和@Restcontroller的那點(diǎn)奇葩事,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Controller和@Restcontroller

直接甩正事

我要返回如下頁面路徑:

控制層的注解為上圖時(shí),結(jié)果正常:

但注解的@Controller若是變?yōu)榱薂Restcontroller了呢

結(jié)果如下:

后來的經(jīng)驗(yàn)總結(jié)

RestController相當(dāng)于Controller+ResponseBody注解

如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,或者h(yuǎn)tml,配置的視圖解析器 ,也就是相當(dāng)于在方法上面自動(dòng)加了ResponseBody注解,所以沒辦法跳轉(zhuǎn)并傳輸數(shù)據(jù)到另一個(gè)頁面,所以InternalResourceViewResolver也不起作用,返回的內(nèi)容就是Return 里的內(nèi)容,即數(shù)據(jù)直接甩在當(dāng)前請求的頁面上,適用于ajax異步請求。

如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行

@Controller和@RestController的區(qū)別?

官方文檔:

@RestController is a stereotype annotation that combines @ResponseBody and @Controller.

意思是:

@RestController注解相當(dāng)于@ResponseBody + @Controller合在一起的作用。

1)如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用,返回的內(nèi)容就是Return 里的內(nèi)容。

例如:本來應(yīng)該到success.jsp頁面的,則其顯示success.

2)如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。

3)如果需要返回JSON,XML或自定義mediaType內(nèi)容到頁面,則需要在對應(yīng)的方法上加上@ResponseBody注解。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論