2009-07-29 20 views

回答

3

這有點棘手。 做這件事最有意思的方法可能是一個servlet過濾器。 但問題是,當響應返回到過濾器時,它已被寫入。所以你只能在標記,不從一個HTML點有意義的末尾寫它,但..

讓您有三個基本的選擇,來我的腦海:

1 )創建一個Filter,包裝整個outputStream將其寫入緩衝區,並用渲染時間替換「特殊字符串」。然後將修改後的緩衝區寫入真正的輸出流。

2)在請求開始時分配一個隨機/增加的令牌。將請求持續時間保存在全球地圖/會話映射中。編寫一個javscript,在頁面加載後觸發,在頁面某處寫出響應時間。 3)假的整個事情,並計算使用javscript/cookies沒有服務器測量任何東西的響應時間。

我已經強制它像2),我認爲它確定。

注意這個答案不是GAE特定的,而是servlet2.x特定的。這並不重要。

+0

嗯,關於2的一個問題:Spring代碼中的哪個儘可能接近請求的開始?在@RequestHandler方法似乎有點晚(發送後),但也許不是。 那麼3呢?餅乾如何涉及? 順便說一句,謝謝你的回答! – dfrankow 2009-07-30 02:35:18

相關問題