2014-09-01 24 views
2

我已經爲我的項目創建了web服務,使用rest和一些僅使用servlet的web服務。個人所有Web服務api的請求計數器

我想創建request counterindividual所有的web service api分析individual request ratio每小時,每天等等。

我不想把每個API的計數器。我可以通過使用Servlet Listner或Servlet Filter來實現嗎?是的,那麼如何?如果可能的話,小演示會很棒。

注意:我知道我可以分析訪問日誌中的大部分細節。

+0

你可以輕鬆地做到這一點與方​​面。 – John 2015-08-26 05:39:39

回答

1

最簡單的解決方案是創建並註冊Filter

web.xml可以使用通配符(*)將其映射到任何URL或要算的Servlet只是網址,這樣一個Filter可以爲所有的Servlet,包括創建自定義的或做計數任何來自第三方庫的已發貨的Servlet(因爲它們也被創建並映射到您選擇的URL模式web.xml)。

Filter是你還可以提供額外的過濾器是否要基於計數的URL,參數等

服務匹配任何註冊Filter S初始的URL模式,並在結束所有的請求調用Filter的代碼,因此在Filter中,您也可以在提供請求之前或之後進行計數。您也可以基於響應狀態代碼等

所以在Filter你可以做一個先進像計數的所有請求計數,他們的平均執行時間,錯誤率,平均接收計數的可能性和發送的字節數等也分解爲Servlets。