想象下面兩行偽代碼:
1. setCookie(...);
2. redirect(new_web_url);
首先設置一個Cookie,然后重定向到另外一個網址,這個網址跟當前網站的域名不同
在多數情況下這兩行代碼執行毫無問題,cookie 正確保存到瀏覽器,頁面也跳轉到了新的url上。
但是有很多firefox瀏覽器下可能出現的問題是cookie無法寫入,而 url 跳轉成功。還不一定能重現出來這種問題,但發生的概率非常高。
解決的辦法:
不要直接 redirect 到另外的網址,而改用:
1
2
3
|
String new_url =
"http://www.oschina.net/"
;
String html =
"<script type='text/javascript'>location.href='"
+new_url+
"';</script>"
;
response.getWriter().print(html);
|
如此 cookie 就可以保證正確寫到瀏覽器,然后執行頁面跳轉。