這段時間偷偷看了下spring boot。結果引用模板時沒注意,把@restcontroller替換了@controlle,結果模板出不來。終究原因是spring的知識不到位。
下面說說這2的說明和區別吧。
@Controller
:修飾class,用來創建處理http請求的對象@RestController
:Spring4之后加入的注解,原來在@Controller
中返回json需要@ResponseBody
來配合,如果直接用@RestController
替代@Controller
就不需要再配置@ResponseBody
,默認返回json格式。
1)如果只是使用@RestController注解Controller,則Controller中的方法無法返回jsp頁面,配置的視圖解析器InternalResourceViewResolver不起作用,返回的內容就是Return 里的內容。
例如:本來應該到success.jsp頁面的,則其顯示success.
2)如果需要返回到指定頁面,則需要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
3)如果需要返回JSON,XML或自定義mediaType內容到頁面,則需要在對應的方法上加上@ResponseBody注解。