2010-04-01 23 views
0

我想向我的JSF Web應用程序添加一個計數器。像在PHP中一樣,我們可以使用外部文本文件來存儲計數和增量,並將其寫入每個請求。如何在JSF中使用?JSF中的HIt計數器

+0

給出更多細節 – Bozho 2010-04-01 06:25:23

回答

0

你可以這樣做,但唯一可以考慮的情況是做作業。無論如何,只需要一個讀取/增量/寫入文件的Backing Bean。

看一下Apache Commons IO FileUtils的一些好幫手方法。雖然如果這是作業,你無疑會得到更好的標記滾動自己;-)

1

我建議只使用Filter這一點。相應地執行javax.servlet.Filter並將其映射到web.xml上的感興趣的url-pattern

E.g. (半僞):

public void doFilter(request, response) { 
    int count = readCountFromFile(); 
    count++; 
    writeCountToFile(count); 
    chain.doFilter(request, response); 
} 

Java IO tutorial可能會有所幫助如何讀取和寫入文件內容。

您不一定需要JSF。 JSF只是建立在Servlet API的基礎之上,你可以使用過濾器。否則,你必須創建一個bean,你必須記得確保每個視圖調用這個bean 請求。

+0

寫入文件的事實,會是性能問題嗎?每次訪問磁盤緩慢的事實。 – neo 2015-02-10 14:32:25

+0

@neo:目前這個問題沒有涵蓋。 OP明確要求寫入磁盤。 – BalusC 2015-02-10 14:40:23

+0

好吧我試圖實現一個熱門計數器,當我看到你的答案時,我發表了一條評論,讓我對事情變得更加清楚......我想我會用一個包含每個頁面元素的地圖來實現它(作爲緩存)並定期將結果定期刷新到數據庫,例如每天一次。 – neo 2015-02-10 15:50:14