區(qū)別
-
轉發(fā)
比重定向
快 -
重定向
經(jīng)過客戶端 - 若需要轉到一個外部網(wǎng)站粥惧,只能使用
重定向
-
重定向
可以避免用戶重新加載頁面時再次發(fā)起請求 -
轉發(fā)
只有一次請求,而重定向
實際是兩次請求
總結:
轉發(fā)
就好比你拿著請假條去找班長請假突雪,班長知道這應該找班主任涡贱,所以就拿著你的申請去找班主任盼产,然后簽好字給你了勺馆,而重定向
就比較懶了侨核,他只告訴你,這該找班主任搓译,然后你就得自己再自個去找班主任了
使用spring 3的Flash屬性讓重定向傳值
我們知道由于重定向經(jīng)過客戶端,所以參數(shù)會在重定向的過程中丟失豌鸡,但是在spring 3版本及以上段标,我們可以通過Flash屬性進行傳值,方法:
- spring mvc配置開啟
<annotation-driven/>
- 在Controller方法上添加
org.springframework.web.servlet.mvc.supportRedirectAttributes
參數(shù)
示例:
@RequestMapping("/test")
public String test(RedirectAttributes redirectAttributes) {
redirectAttributes.addFlashAttribute("test", "msg");
return "redirect:/test2";
}