Session對象:
**定義:**表示客戶端與服務器的一次會話,會話的生命週期定義爲用戶進入網站到所有
相關瀏覽器關閉所經過的時間段,其存儲位置爲服務器的內存,爲不同的用戶保持着不同的session.
詳解:
①session對象是一個Jsp內置對象
②session對象在第一個Jsp頁面被裝載時自動創建,完成會話週期管理
③客戶端打開瀏覽器連接到服務器開始到關閉所有
相關瀏覽器離開服務器爲一個會話週期
④session對象幫助服務器確認頁面切換過程中的客戶端對象(即標記頁面切換過程中的客戶身份)
⑤session對象是HttpSession類的一個實例
常用方法:
public String getId():返回Session創建時Jsp引擎爲其創建的唯一ID號
public Object setAttribute(String name,Object value):存儲對象,用於在不同page頁面中使用
public void setMaxInactiveInterval(int interval):設置當前session最大生命週期,參數爲秒,單位週期內爲出現新請求session生命週期結束
還可以在web.xml文件中配置:
<session-config>
<session-timeout>
10//單位分鐘
</session-timeout>
</session-config>
生命週期:
①創建:第一次訪問服務器,爲其指定唯一的sessionId
②活動:當前會話週期內(會話週期結束後,session任然存在於服務端,只不過不在於相應客戶端新會話進行綁定,超時方結束)
③銷燬:調用invalidate()方法、session過期、服務器重啓
Application對象:
**定義:**生命週期爲服務器開啓到關閉整個週期內。因此可以作爲全局對象,存放全局變量實現用戶間的數據共享,在任何地方進行調用
常用方法:
public Object setAttribute(String name,Object value):存儲對象,適用於所有用戶的所有page當中
Enumeration getAttributeNames():返回所有可用屬性姓名的枚舉
page對象:
定義:指向當前jsp頁面本身,類似於對象中的this指針,生命週期爲當前page頁面
常用方法(Object類的常用方法):
class getClass():返回次Object的類
void notify():喚醒一個等待線程
void wait():使一個線程處於等待狀態知道被喚醒
pageContext對象:
定義:
①提供了對Jsp頁面內所有的對象及名字空間的訪問
②可以訪問本頁所在的session,也可以獲取本頁所在的application的某一屬性值
③相當於頁面中所有功能的集大成者
④本類名也叫作pageContext
常用方法:
JspWrite getOut():返回當前客戶端響應被使用的JspWriter流(out)
HttpSession getSession():返回當前頁面所在的session
Object getPage():獲取當前頁的Object對象(page)
ServletRequest getRequest():
ServletResponse getResponse():
void forward(String relativeUrlPath):是當前頁面重導到另外頁面
void include(String relativeUrlPath):在當前位置包含另一個文件
Config對象:
定義:在servlet初始化時,JSP引擎向它傳遞信息用的,次信息包括servlet初始化時所要用到的參數以及服務器有關信息
常用方法:
Servlet Context getServletContext():返回含有服務器相關信息的ServletContext對象
String getInitParameter(String name):返回初始化參數的值
Enumeration getInitParameterNames():返回Servlet初始化所需所有參數的枚舉
Exception對象:
定義:一個異常對象,當一個頁面運行發生錯誤時,產生該對象。JSP頁面想要應用該對象,必須把isErrorPage設置爲true,否則無法編譯。
常用方法:
String getMessage():返回描述異常的消息
String toString():返回關於異常的簡短描述信息
void printStackTrace():顯示異常及其棧軌跡
Throwable FillInStackTrace():重寫異常的執行軌跡
異常拋出頁面:指定接收page
異常接收頁面:指定爲異常可接受page