Application對象:
服務器啟動后,就產生了這個application對象。當一個客戶訪問服務器上的一個JSP頁面時,JSP引擎為該客戶分配這個 application對象,當客戶在所訪問的網站的各個頁面之間瀏覽時,這個 application對象都是同一個,直到服務器關閉,這個application對象才被取消。與 session對象不同的是,所有客戶的application對象是相同的一個,即所有的客戶共享這個內置的 application對象。我們已經知道,JSP引擎為每個客戶啟動一個線程,也就是說,這些線程共享這個application對象。
Application常用的方法:
(1) public void setAttribute(String key ,Object obj) application對象可以調用該方法將參數 Object 指定的對象 obj添加到 application對象中,並為添加的對象指定了一個索引關鍵字,如果添加的兩個對象的關鍵字相同,則先前添加對象被清除。
(2) public Object getAttibue(String key) 獲取 application對象含有的關鍵字是 key的對象。由於任何對象都可以添加到application對象中,因此用該方法取回對象時,應強制轉化為原來的類型。
網頁計數器:
<% //獲取用戶輸入的用戶名信息 String name=request.getParameter("username"); out.println("你的用戶名為:"+name); out.println("<br>"); //定義一個表示登錄次數的變量 Object c = application.getAttribute(name); //如果是其中沒有信息,表示第一次登錄 if(c==null) { //顯示用戶是第一次登錄 out.println("你是第1次登錄該服務器"); //將登錄次數保存在application對象中 application.setAttribute(name, 1); } else { int count=Integer.parseInt(c.toString()); //每次登錄后+1 count++; out.println("你已經是第"); out.println(count); out.println("次登錄服務器"); //重新保存登錄信息 application.setAttribute(name, new Integer(count)); } %>
注:此代碼參考了部分網上代碼。