1. 程式人生 > >頁面的轉發(dispatcher)與重定向(redirect)的區別

頁面的轉發(dispatcher)與重定向(redirect)的區別

在web開發中,實現頁面的跳轉常用的有dispatcher和redirect兩種方式,那麼這兩種方式具體有什麼區別,適用場合有什麼不同呢?

1 .首先:用dispatcher(轉發)的時候位址列地址不改變;而用(redirect)重定向的時候位址列地址會發生改變;

2 .其次:用dispatcher的時候伺服器只發一次請求,而用redirect的時候伺服器會發兩次請求


3 .最重要的一點:dispatcher用於兩個元件協同工作的時候,而redirect用於一個工作完成之後開始下一個工作,重定向之後當前頁面的所有資料資訊在下一個頁面將全部失效,也就是說,使用redirect跳轉頁面的時候不能把當前頁面的引數傳遞到下一個頁面

     比如:登入成功之後應該用redirect重定向不能用dispatcher,因為登入成功表示一個工作已經完成,如果用重定向的話,由於地址還是原來的地址,使用者重新整理頁面之後又會要求重新登入,不符合常理。