一,String類型作為返回值類型
返回值類型為String時,一般用於返回視圖名稱
1.當方法返回值為Null時,默認將請求路徑當做視圖 /jsp/thread/secondRequest.jsp 如果說沒有試圖解析器,如果返回值為Null攜帶數據只能用JSON
2.當方法返回一個String的字符串時,當字符串為邏輯視圖名時只返回視圖,如果要攜帶數據則使用request,session或者Json
如果要用Model或者ModelMap傳遞數據,那么Model或者ModelMap絕對是方法入參
3.當方法返回值加入forward的時候代表轉發,如果寫為redirect:xxxx代表重定向,不是返回視圖了,但是不會這樣做!!!!!!
亂碼解決:
1.controller傳遞數據給頁面,在RequestMapping當中指定produces="text/json;charset=utf-8"
2.Controller接收頁面數據 使用編碼過濾器
method代表請求方式
二,ModelAndView作為返回值類型
ModelAndView model是攜帶到頁面的數據 View是視圖
- 當返回為null時,頁面不跳轉。
- 當返回值沒有指定視圖名時,默認使用請求名作為視圖名進行跳轉。
- 當返回值指定了視圖名,程序會按照視圖名跳轉。
三,Object作為返回值類型
1.當方法返回值為Null時,默認將請求路徑當做視圖 /jsp/thread/secondRequest.jsp 如果說沒有試圖解析器,如果返回值為Null攜帶數據只能用JSON
2.當方法返回值為String類型字符串時,就是視圖的邏輯名稱
3.當返回對象或者集合數據時,要使用Json格式字符串,可選fastJson手動轉換,也可以使用jackson自動轉換
四,void作為返回值類型
如果你的方法寫成了void就跟原來Servlet含義是差不多的