1. 程式人生 > >【jsp/servlet】jsp資料互動(二)

【jsp/servlet】jsp資料互動(二)

本章目標:

  1. 掌握application的原理及應用
  2. 掌握物件的作用域
  3. 掌握cookie的原理及應用
  4. 使用jsp訪問資料庫

1、application物件
類似於系統的“全域性變數”,用於同一個伺服器內的所有使用者之間的資料共享,對於整個web伺服器,application有且只有一個示例。

application常用方法:

  1. void setAttribute(String key,Object value) //以key/value的形式將物件儲存到application中
  2. Object getAttribute(String key) //通過key獲取儲存在application中的物件
  3. String getReadPath(String path) //返回相對路徑的真實路徑

application主要用於統計網站訪問人數,示例:

Integer count =(Integer)application.getAttribute("count");
if(count!=null){
    count+=1;
}else{
    count=1;
}
application.setAttribute("count",count);

小結:jsp常用內建物件

  1. out物件:用於想客戶端輸出資料
  2. request物件:主要用於處理客戶端請求的資料資訊
  3. response物件:用於響應客戶端請求並向客戶端輸出資訊
  4. session物件:用於記錄會話的相關資訊
  5. application物件:類似於系統的“全域性變數”,用於實現web應用中的資源共享

2、物件的作用域
jsp中提供了四種作用域:
1、page作用域:同一個頁面中有效
2、request作用域:通過request物件setAttribute()方法儲存資料,然後呼叫RequestDispatcher的forward()方法轉向的頁面或者呼叫include()方法包含的頁面時,都可以訪問request作用域內的物件。
3、session作用域:通過session物件的setAttribute()方法儲存資料後,只要不關閉會話(不關閉瀏覽器),都可以訪問session作用域內的物件。
4、application作用域。只要web伺服器不關閉,都可以訪問。

3、cookie

什麼是cookie?簡單明瞭的說:快取。你的網站有誰登入了、瀏覽了哪些頁面,都可以存入cookie當中。並且,還可以設定cookie的有效時間。

  1. 建立cookie物件:Cookie newCookie = new Cookie(String name,String value),name表示cookie的名稱,value表示當前key名稱所對應的值。
  2. 寫入cookie:response.addCookie(newCookie);
  3. 讀取cookie:Cookie[] cookies = request.getCookie();
    cookie的常用方法:
  4. void setMaxAge(int expiry) 設定cookie的有效期,以秒為單位
  5. void setValue(String value) 在cookie建立後,為cookie賦予新的值
  6. String getValue() 獲取cookie的值
  7. int getMaxAge() 獲取cookie的有效時間

**注:**sessionid被儲存在cookie中。

4、jsp訪問資料庫

與Java一致。

5、JavaBean

JavaBean是Java中的可以跨平臺的重用元件。主要負責封裝資料和封裝業務處理。JavaBean的定義要遵循一定的規則:公有類,並提供無參的共有構造方法;屬性私有,具有共有的訪問屬性的getter/setter方法。