2011-05-06 81 views
0

有沒有辦法知道請求是否已被重定向或轉發到Servlet的doGet方法中?如何知道當前的Servlet請求是否是重定向的結果?

在我的應用程序中,當用戶(其會話超時)點擊文件下載鏈接時,它們會顯示登錄頁面,這很好。當他們登錄時,會立即發送他們請求的文件,而不更新他們看到的頁面,這是不好的。基本上,它們卡在登錄屏幕上(需要刷新)。

我想要做的就是打斷它,並簡單地重定向到帶鏈接的頁面,當文件被重定向請求時。

也許有更好的方法來解決這個問題?

回答

0

如果您使用的是容器管理的身份驗證,那麼我認爲您無法檢測到這一點,因爲一旦身份驗證成功完成,服務器將只涉及您的資源。

如果您以不同方式管理身份驗證,請解釋。

1

重定向發生在客戶端。前一個請求指示瀏覽器發送一個新的請求,因此對於服務器來說它沒有任何區別。 Referer標題可能包含一些有用的信息,但不確定。

重定向時,您可以附加一些參數,如?targetPage=dowloadpage,然後檢查參數是否存在。如果您希望通過多個頁面傳輸,您可能必須將其放在登錄頁面的hidden字段中。

相關問題