在web中,當辦事器啟動時會為每一個web建立一個ServletContext對象,而web下的所有Servlet的共享這個ServletContext。所有Servlet之間可以操縱ServletContext實現數據的共享。下面是炳同窗帶來的統計拜候次數的簡單圖文記實。
1獲取應用全局初始化參數
起首建立一個CountContext類讓它擔當HttpServlet。重寫init、doGet和doPost三個方式。
然后我們在web.xml在設置裝備擺設CountContext和它的映射。
在CountContext的init方式中,我們經由過程getServletContext()方式獲得ServletContext對象.然后該對象挪用setAtrribute("鍵","值");方式存入鍵和值。
context.setAttribute("count", 0);
因為我們的目標是要統計拜候CountContext這個Servlet的次數,所以初始值從0起頭。
接下來因為每一次拜候城市挪用doGet()或者doPost()來辦事。
所以我們在doGet方式中完當作:因為執行doGet就代表拜候了一次,所以我們掏出ServletContext中的count值,然后加1后再存入ServletContext中.
如許就完當作了統計拜候次數的營業邏輯。
后面的話可以按照你的需要標的目的頁面輸出一些內容。
因為營業邏輯一樣,在doPost方式中的直接挪用doGet方式就可以了,如許簡化代碼。
然后我們再建立一個ShowServlet類,讓它擔當HttpServlet。重寫doGet和doPost方式。
在web.xml下添加ShowServlet的設置裝備擺設信息。
然后在ShowServlet的doGet方式中掏出CountContext中存入到ServletContext域對象中的count。
再通用response標的目的頁面顯示出來就可以了。
同樣在doPost中挪用doGet方式。
完當作之后, 啟動辦事器,先拜候CountContext,再拜候ShowServlet
可以看到ShowServlet當作功統計到拜候Countext的次數。
其實統計拜候數據在一個Servlet中就可以完當作,這個利用兩個Servlet來完當作本家兒要想讓大師看到:一個Serlvet中經由過程ServletContext的setAttribute存入數據,而在另一個可以經由過程ServletContext的getAttribute方式掏出數據。
也就是說分歧的Servlet可以經由過程ServletContext域對象完當作數據共享。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!