JSP 內建物件
阿新 • • 發佈:2018-12-14
JSP提供了九個內建物件
- request:請求物件
- response:響應物件
- session:會話物件
- application:應用程式物件
- out:輸出物件
- page:頁面物件
- config:配置物件
- exception:異常物件
- pageContext:頁面上下文物件
request物件
當客戶端請求一個JSP頁面時,JSP容器會將客戶端的請求資訊包裝在這個request物件中.
封裝的資料大概有如下幾種:
- HTTP報文頭部資料.
- 客戶端提交的資料.
- 網路層協議資料.
主要方法
- getParameter(String name)//返回指定引數,不存在則返回空
- getParameterValues(String name)//返回指定引數所有值,不存在則返回空
- setAttribute(String key,Object obj)
- getAttribute(String name)
- getAttributeNames()
- getSession()//獲取request對應的session物件,不存在則建立一個
- getInputStream()
- getRemoteAddr()
- getCharacterEncoding()
response物件
向客戶端傳送資料,設定HTTP報文頭,寫入cookie資訊,將處理結果返回客戶端
主要方法
- setRedirect(String location)//對畫面進行跳轉.
- setCharacterEncoding(String charset)//設定響應字元編碼
- setContenType(String type)//設定響應頭資訊
- reset()//清除快取中任何資料.
- isCommitted()//返回響應是否已經提交到客戶端
- addCookie(Cookie c)
- getCookie(Cookie c)
cookie的操作
向客戶端傳送cookie
Cookie c = new Cookie("username","u1"); c.setMaxAge(60*60*24*7); response.addCookie(c);
從客戶端讀取cookie
Cookie [] cookies = request.getCookies();
if(cookies!=null){
for(int i=0; i<cookies.length;i++){
Cookie cookie=cookies[i];
if(cookit.getName().equals("userName"))
dosomething(cookie.getValue());
}
}
}
session物件
客戶端和伺服器之間的互動稱為會話,session儲存物件資訊.用於臨時儲存多個頁面的共享資料.
session物件會在以下情況失效
- 客戶關閉瀏覽器.
- 會話超時,即超過session物件的生存時間.預設30min
- 顯式的呼叫invalidate方法
主要方法
- getId()
- removeAttribute(String name)
- setAttribute(String name,Object value)
- getAttribute(String name)
- getCreationTime()
- setMaxInactiveInterval(int n)
- invalidate()
- 利用session物件儲存資料
- session物件的生命週期
out物件
向客戶端傳送資料,傳送的內容是瀏覽器需要顯示的內容.型別為JspWriter
寫入到tomcat的緩衝區
- page指定的buffer屬性關閉了out物件的快取功能
- out物件的緩衝區已滿
- 整個JSP頁面結束
主要方法
- print(datatype data)
- println(datatype data)
- newLine()
- flush()
- close()
- clear()
- getRemaining()
application物件
用於多個程式或使用者之間的共享資料
主要方法
- getInitParameter(String name)
- getServerInfo()
- getRealPath(URL)
- setAttribute(String key,Object obj)
- getAttribute(String name)
利用application物件儲存資料
其他內建物件
page物件,指向當前物件本身
config物件,用於獲取配置引數
pageContext物件,代表頁面上下文
pageContext主要方法
- setAttribute(String key,Object value[,int scope])
- getAttribute(String name)
- forward(String url)//頁面重定向到另外一個頁面
- getRequest()
- getServletConfig()