controller方法的返回值
1 商品修改功能開發
1.1 需求
操作流程:
1、進入商品查詢列表頁面
2、點擊修改,進入商品修改頁面,頁面中顯示了要修改的商品(從數據庫查詢)
要修改的商品從數據庫查詢,根據商品id(主鍵)查詢商品信息
3、在商品修改頁面,修改商品信息,修改後,點擊提交
1.2 開發mapper
mapper:
根據id查詢商品信息
根據id更新Items表的數據
不用開發了,使用逆向工程生成的代碼。
1.3 開發service
接口功能:
根據id查詢商品信息
修改商品信息
1.4 開發controller
方法:
商品信息修改頁面顯示
商品信息修改提交
2 @RequestMapping
n url映射
定義controller方法對應的url,進行處理器映射使用。
n 窄化請求映射
n 限制http請求方法
出於安全性考慮,對http的鏈接進行方法限制。
如果限制請求爲post方法,進行get請求,報錯:
1 controller方法的返回值
n 返回ModelAndView
需要方法結束時,定義ModelAndView,將model和view分別進行設置。
n 返回string
如果controller方法返回string,
1、表示返回邏輯視圖名。
真正視圖(jsp路徑)=前綴+邏輯視圖名+後綴
2、redirect重定向
商品修改提交後,重定向到商品查詢列表。
redirect重定向特點:瀏覽器地址欄中的url會變化。修改提交的request數據無法傳到重定向的地址。因爲重定向後重新進行request(request無法共享)
3、forward頁面轉發
通過forward進行頁面轉發,瀏覽器地址欄url不變,request可以共享。
n 返回void
在controller方法形參上可以定義request和response,使用request或response指定響應結果:
1、使用request轉向頁面,如下:
request.getRequestDispatcher("頁面路徑").forward(request,response);
2、也可以通過response頁面重定向:
response.sendRedirect("url")
3、也可以通過response指定響應結果,例如響應json數據如下:
response.setCharacterEncoding("utf-8");
response.setContentType("application/json;charset=utf-8");
response.getWriter().write("json串");