application存儲數據
① java里,怎麼向application范圍存入值
JS取到值這一步驟你應該會的。
不知道你說的這些功能,可不可以用ajax實現。如果可以用這個技術的話,你可以通過ajax把數據傳到後台去,在後台把相應的信息保存了,然後就可以再繼續執行你想要的其它操作了。
如果你不用ajax,你可以設置一個高和寬都為零的iframe,然後呢,把參數提交給後台,而提交的時候,要把路徑提交到iframe裡面,在後台把數據給保存到application裡面去。
要是不明白怎麼做,可以叫我,詳細給你說。
就我現在所知道的東西,必須交給後台,或者jsp,才可能實現你想要的:把頁面的數據保存到application中去。
② application怎麼存儲數據
JSP 里直接這樣就能把值存入:
application.setAttribute("arg1", value);
javabean里可以用以下方法:
public void setApplication(HttpServletRequest request){
ServletContext application = request.getServletContext();
}
還可以使用 struts2寫的ActionContext和ServletActionContext,如:
ServletActionContext.getServletContext().setAttribute("msg", "123");
③ Application,Session和Cookie的區別
Application用於保存所有用戶共用的數據信息,如果被保存的數據在應用程序生存期內根本不會改變或很少改變,用它。但是在asp.net中有個web.config,可能更好點。如果要使用application,一個需要考慮的問題是任何寫操作都有要在application_onstart事件中(Global.asax)中完成。盡管使用application.lock和application.unlock方法來避免操作的同步,但是它串列化了對application的請求,當網站訪問量大時會造成性能瓶頸。因此最好不要用它存取大的數據集。
使用方法:
//存放信息
Application["test"] = "100";
//讀取
String test = Application["test"].ToString();
Session 用於保存每個用戶的專用信息,它的生存期是用戶持續請求時間再加上一段時間(可以在web.config中設置,默認是20分鍾)。Session中的信息保存在伺服器的內存中,當然你也可以設置它的保存方法(如存在SQL資料庫中)。由於用戶停止使用程序後它仍然在內存中保持一段時間,因此使用Session對象保存用戶數據的方法效率很低。對於小量的數據。使用Session還是一個不錯的選擇。
//存
Session["user"] = "majcms";
//取
String username = Session["user"].ToString();
Cookie用於保存客戶瀏覽器請求伺服器頁面的請求信息,程序員也可以用它保存非敏感性的內容。保存時間可以根據需要設置。如果沒有設置Cookie失效時間,它僅保存至瀏覽器關閉。如果將Cookie設置為Min Value,則表示它永不過期。Cookie存儲量受到很大限制,一般瀏覽器支持最大容量為4096位元組。因此不能用來存儲大量數據。由於並非所有瀏覽器都支持Cookie,並且它是以明文方式保存的,所以最好不要保存敏感性的內容。否則會影響網路安全。
//存
Response.Cookies["name"].Value = "majcms";
//取
String username = Response.Cookies["name"].Value;
④ asp.net中Application存儲數據,不訪問網站後,多一段時間,Application的數據就沒了
因為application和session是一樣的,結束操作20分鍾內沒有的,application你要設置它的代碼,讓系統生成txt、然後application的數據記錄到txt中,就永遠不會丟失了。<%
dim fso,ts
application.lock
set fso=server.createobject("scripting.filesystemobject")
set ts=fso.opentextfile(server.mappath("counter.txt"),1,true)
if not ts.atendofstream then
counter=clns(ts.readline)
else
counter=1
end if
ts.close
set ts=nothing
set ts2=fso.opentextfile(server.mappath("counter.txt"),2,true)
counter=counter+1
ts2.write(counter)
ts2.close
set ts2=nothing
set fso=nothing
application.unlock
%>
然後使用"&counter&"就好了
⑤ 用application先存儲頁面訪問量,然後定時向資料庫存儲,需要寫在Global裡面的.要怎麼做
1 需要在ApplicationStart時開啟一個定時的線程
while(true){
//插入資料庫的代碼, 這里最好用非同步方式插入, 注意使用鎖
Thread.Sleep(要休息的時間);
}
2 定義一個繼承自Page的基類, 所有的頁面都要集成自這個基類
在基類的PageLoad方法裡面向Applicaion變數加數, 注意使用鎖
上面兩步即可
但是, 因為鎖的存在, 可能會導致一些性能問題, 如果並發量不大,可以使用上述方案
=======================
不寫在Global裡面可以利用Cache, Cache都有一個過期時間, 在過期時會嘗試調用一個代理, 你可以定義比如10分鍾過期, 然後在過期代理對應的方法裡面寫入資料庫
⑥ asp的application能存儲多少數據加分了!
如果在 Application 或 Session 作用域中存儲數據,這些數據將一直保留在那兒,直到在程序中改變它、Session 過期或 Web 應用程序重新啟動時為止。數據需要更新如何處理?若要用手工強制更新應用程序數據,可以調用只允許管理員訪問的數據更新 ASP 頁。另外,還可以通過函數,周期地自動刷新數據。
請注意,在 Session 或 Application 對象中緩存大型數組並非上策。在訪問數組元素之前,腳本語言的語法要求建立整個數組的臨時副本。例如,如果在 Application 對象中緩存了將美國郵政編碼映射到本地氣象站的字元串數組,該字元串數組有 100,000 個元素,ASP 在找出一個字元串之前,必須將所有 100,000 個氣象站復制到臨時數組中。在這種情況下,建立帶自定義方法的自定義組件,來存儲氣象站 - 或使用一個字典組件,也許更好。
⑦ 啟用Application對象存儲數據以後是不是在整個站點有效
Application是對整站有效的
Session只是對一個連接有效(通俗地說,新開一個IE打開一個網站時就有一個Session,再開個IE打開網站就有兩個)
⑧ application的使用方法是什麼
application的生存周期是整個應用程序的生命期
也就是說如果你的伺服器不關閉 重啟 或者清除application里的數據 那麼 存在這裡面的東西就永久保存,所以appliction一般用來存儲所有用戶的公用信息。
application.setAttribute("username",username);
第一個參數為 鍵 ,第二個參數為 值
鍵 可以是 你需要的任何形式的 字元串
值 是 你需要保存的數據
⑨ application和session的區別
Session 與 Application 區別
一、服務的對象不一樣
在同一個瀏覽器窗口中,無論向伺服器發送多少請求,session 對象只有一個;當 application 對象沒有被銷毀的時候,所有用戶都可以享用該 application 對象。
二、性質不一樣
session是會話變數,只要同一個瀏覽器沒有被關閉,session對象就會存在;application它類似於系統的全局變數。
三、使用的人不一樣
一個瀏覽器只能創建一個 session 變數;所有瀏覽器用戶都可以使用伺服器上的 application 對象。
四、保存的內容不一樣
session 對象可以存儲或者讀取客戶的相關信息;application 對象可以用於保存所有程序中的公有數據。
五、變數的生命周期不一樣
可以通過編寫程序進行修改這個 session 的生命周期的時間;application 的生命周期是最長的。