2012-04-30 84 views
0

所以我遇到了問題。我在頁面到頁面的請求中存儲了某些字段,因爲每個頁面都需要在我使用跨頁面的收集器中填充不同的字段。問題是後退按鈕。在後退按鈕上填充請求單擊

如果我點擊鏈接把我給我的登錄頁面,服務器從填充用適當的頁面名稱和事件名稱等要求收集,讓我瀏覽到登錄頁面。 (某些東西必須加載,所以它必須通過一個servlet)。但是,在該頁面上,廣告和其他內容都有靜態模塊,因此單擊其中一個廣告會將您帶到不需要這些屬性即可訪問的單獨靜態頁面。在Chrome,Safari和FF中,如果我在訪問此靜態頁面後單擊後退按鈕,瀏覽器會要求我重新加載請求以查看頁面。但是,在IE8中,沒有頁面重新加載。它只是踢我回到頁面,並沒有填充請求,並與我的遺憾頁面崩潰。

我需要知道,如果有填充上的後退按鈕點擊請求的方式,以及如何做到這一點。否則,我的servlet在嘗試訪問這些字段時會拋出一個空指針,因爲它們在請求中都是空的。任何幫助將不勝感激。我甚至不確定這是否完全可能。

回答

0

我猜你正在使用POST請求導航到每一頁。 POST應使用從頁面視圖發送不同的一些用戶操作 - 登錄,買東西,更改設置等瀏覽器需要用戶確認他們想重溫使用POST一個頁面,暗示狀態變化之前。請參閱What is the difference between POST and GET?

對於簡單的內容頁面(用戶不採取操作),最好使用GET請求。此外,它是更爲常見的使用request.getSession()獲取並存儲在服務器用戶領域。也就是說,你只發送一次,然後查看每個請求。在java中查找有關會話跟蹤的教程。

+0

使用的收集器和用於導航頁面的方法是什麼內置在我工作的公司使用的框架。我無法改變。但是POST不會將用戶發送到靜態頁面。它僅用於瀏覽表單或服務器端頁面以確保安全。所以基本上這些限制只允許我尋找一個可以填充請求對象的解決方案。 – banjokaboom

+0

@portugusto_programmer你有沒有控制'POST'引導你?如果是,在處理信息之後重定向_immediately_是一種很好的做法 - 有一個servlet用於處理,之後是一個頁面。 – jmruc