1. 程式人生 > >SpringMVC中的@requestMapping問題與controller方法的返回值問題

SpringMVC中的@requestMapping問題與controller方法的返回值問題

end pin Coding mage 返回 ren response font object

@requestMapping

1、url映射

  定義controller方法對應的url,進行處理器映射使用

  @RequestMapping("/items")

  public class ItemsController {...}

2、窄化請求映射

技術分享圖片

3、限制http請求方法

出於安全性考慮,對http的鏈接進行方法限制。

如果限制請求為post方法,進行get請求,報錯:

技術分享圖片

但是因為method={}是數組,所以可以把POST與GET方法都寫進去

技術分享圖片

controller方法的返回值

1、返回ModelAndView

  需要方法結束時,定義ModelAndVIew,將Model 和View分別進行設置:

modelAndView.addObject("item", itemsCustom);

modelAndView.setViewName("editItem");

2、返回string

  若controller方法返回string

a.表示返回邏輯視圖名(所謂邏輯視圖名即:在springMMVC裏配置了前綴和後綴,所以具體路徑簡化為去掉前綴和後綴的路徑)

真正視圖(jsp路徑)=前綴+邏輯視圖名+後綴

技術分享圖片

b、redirect重定向

商品修改提交後,重定向到商品查詢列表。

redirect重定向特點:瀏覽器地址欄中的url會變化。修改提交的request數據無法傳到重定向的地址。因為重定向後重新進行

requestrequest無法共享)

技術分享圖片

c、forward頁面轉發

通過forward進行頁面轉發,瀏覽器地址欄url不變,request可以共享。

技術分享圖片

3、返回void

controller方法形參上可以定義requestresponse,使用requestresponse指定響應結果:

a、使用request轉向頁面,如下:

request.getRequestDispatcher("頁面路徑").forward(request, response);

b、也可以通過response頁面重定向:

response.sendRedirect("url")

c、也可以通過

response指定響應結果,例如響應json數據如下:

response.setCharacterEncoding("utf-8");

response.setContentType("application/json;charset=utf-8");

response.getWriter().write("json串");

 

SpringMVC中的@requestMapping問題與controller方法的返回值問題