我們正在使用Spring 2.5在Java App Engine上構建一個應用程序。如何確定Spring中的頁面呈現時間(在Google App Engine/Java上)?
我想在顯示頁面渲染時間的頁腳中添加一些內容。
Spring或GAE/J中的最佳代碼鉤在哪裏來計算渲染時間並將其放入Spring模型以進行JSP呈現?
我們正在使用Spring 2.5在Java App Engine上構建一個應用程序。如何確定Spring中的頁面呈現時間(在Google App Engine/Java上)?
我想在顯示頁面渲染時間的頁腳中添加一些內容。
Spring或GAE/J中的最佳代碼鉤在哪裏來計算渲染時間並將其放入Spring模型以進行JSP呈現?
這有點棘手。 做這件事最有意思的方法可能是一個servlet過濾器。 但問題是,當響應返回到過濾器時,它已被寫入。所以你只能在標記,不從一個HTML點有意義的末尾寫它,但..
讓您有三個基本的選擇,來我的腦海:
1 )創建一個Filter,包裝整個outputStream將其寫入緩衝區,並用渲染時間替換「特殊字符串」。然後將修改後的緩衝區寫入真正的輸出流。
2)在請求開始時分配一個隨機/增加的令牌。將請求持續時間保存在全球地圖/會話映射中。編寫一個javscript,在頁面加載後觸發,在頁面某處寫出響應時間。 3)假的整個事情,並計算使用javscript/cookies沒有服務器測量任何東西的響應時間。
我已經強制它像2),我認爲它確定。
注意這個答案不是GAE特定的,而是servlet2.x特定的。這並不重要。
嗯,關於2的一個問題:Spring代碼中的哪個儘可能接近請求的開始?在@RequestHandler方法似乎有點晚(發送後),但也許不是。 那麼3呢?餅乾如何涉及? 順便說一句,謝謝你的回答! – dfrankow 2009-07-30 02:35:18