您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關轉(zhuǎn)發(fā)與重定向在SpringMVC中的區(qū)別有哪些,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
在servlet中,轉(zhuǎn)發(fā)和重定向是由request和response完成的
/**轉(zhuǎn)發(fā)**/ @RequestMapping("/login.do") public String login(HttpServletRequest request,HttpServletResponse response){ request.setAttribute("message", "hello"); return "forward:/index.do"; //forward在跳轉(zhuǎn)后可以取到message值 }
index.do為另外一個path,也就是RequestMapping中的值。
@RequestMapping("/index.do") public String index(HttpServletRequest request,HttpServletResponse response){ return "welcome"; } /**重定向**/ @RequestMapping("/logout.do") public String logout(HttpServletRequest request,HttpServletResponse response){ request.setAttribute("message", "hello"); return "redirect:/register.do"; //redirect在跳轉(zhuǎn)后無法取到message值 }
register.do為另外一個path,也就是RequestMapping中的值。
@RequestMapping("/register.do") public String register(HttpServletRequest request,HttpServletResponse response){ return "register"; }
另外forward跳轉(zhuǎn)后地址欄URL不會改變 而redirect會改變
當我們使用重定向時,在后臺傳到頁面的參數(shù)全部丟失,除非放在session中。所以在springMVC有一種解決方式如下:
@RequestMapping(“/update.do”) public String update( RedirectAttributes redirectAttributes) { redirectAttributes.addFlashAttribute("message", "操作成功"); return "redirect:/admin/user"; }
在重定向的頁面中,可以獲取到message的值,這是由于spring將message放入session中了。
以上就是轉(zhuǎn)發(fā)與重定向在SpringMVC中的區(qū)別有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。