當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
转码与重定向的区别之于SpringMVC
生活随笔
收集整理的這篇文章主要介紹了
转码与重定向的区别之于SpringMVC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ??
? ??
使用轉發時,JSP容器將使用一個內部的方法來調用目標頁面,新的頁面繼續處理同一個請求,而瀏覽器將不會知道這個過程。
與之相反,重定向方式的含義是第一個頁面通知瀏覽器發送一個新的頁面請求。
因此轉發要比重定向更快,而且跳轉到的頁面屬性值將保留,重定向則不會. 但是也不能任意使用轉發,用springMVC舉個栗子來講,當你調用某個controller的save方法時會向數據庫中插入數據,之后轉發到其他頁面,而當這時候你刷新頁面將會再次調用這個controller重復插入數據,原因在于轉發過程url是不發生變化的,因此這種情況下還是選擇重定向好一些。 但有人會問,重定向之后怎么傳值呢?springMVC3.1之后可以通過Flash屬性傳值,舉個栗子: @RequestMapping("/save") public String save(RedirectAttributes reAttrs){reAttrs.addFlashAttribute("msg", "Add success!");return "redirect:/product_view/"; }
使用 RedirectAttributes 這樣在新頁面你就可以通過msg獲取你想要的值了,例如${ msg }
因此轉發要比重定向更快,而且跳轉到的頁面屬性值將保留,重定向則不會. 但是也不能任意使用轉發,用springMVC舉個栗子來講,當你調用某個controller的save方法時會向數據庫中插入數據,之后轉發到其他頁面,而當這時候你刷新頁面將會再次調用這個controller重復插入數據,原因在于轉發過程url是不發生變化的,因此這種情況下還是選擇重定向好一些。 但有人會問,重定向之后怎么傳值呢?springMVC3.1之后可以通過Flash屬性傳值,舉個栗子: @RequestMapping("/save") public String save(RedirectAttributes reAttrs){reAttrs.addFlashAttribute("msg", "Add success!");return "redirect:/product_view/"; }
使用 RedirectAttributes 這樣在新頁面你就可以通過msg獲取你想要的值了,例如${ msg }
總結
以上是生活随笔為你收集整理的转码与重定向的区别之于SpringMVC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorflow随笔-读取多个文件
- 下一篇: python3随笔-特征值,特征向量,逆