servlet三大作用域 jsp四大作用域 jsp九個內建物件 el表示式11個隱藏物件
Servlet三個作用域
*request -->表示一個請求,只要發出一個請求就會建立一個request,它的作用域:僅在當前請求中有效。
*session -->伺服器會為每個會話建立一個session物件,所以session中的資料可供當前會話中所有servlet共享。會話:使用者開啟瀏覽器會話開始,直到關閉瀏覽器會話才會結束。一次會話期間只會建立一個session物件。
*application(servletcontext) -->作用範圍:所有的使用者都可以取得此資訊,此資訊在整個伺服器上被保留。Application屬性範圍值,只要設定一次,則所有的網頁視窗都可以取得資料。ServletContext在伺服器啟動時建立,在伺服器關閉時銷燬,一個JavaWeb應用只建立一個ServletContext物件,所有的客戶端在訪問伺服器時都共享同一個ServletContext物件;ServletContext物件一般用於在多個客戶端間共享資料時使用;
內建物件特點:
1. 由JSP規範提供,不用編寫者例項化。
2. 通過Web容器實現和管理
3. 所有JSP頁面均可使用
4. 只有在指令碼元素的表示式或程式碼段中才可使用(<%=使用內建物件%>或<%使用內建物件%>)
JSP九大內建物件
* out --> jsp的輸出流,用來向客戶端響應
* page --> 當前jsp物件! 它的引用型別是Object,即真身中有如下程式碼:Object page = this;
* config --> 它對應真身中的ServletConfig物件!
* pageContext --> 一個頂9個!
* request --> HttpServletEequest
* response --> HttpServletResponse
* exception --> Throwable
* session --> HttpSession
* application --> ServletContext
JSP中有四大域
*ServletContext:整個應用程式
*session:整個會話(一個會話中只有一個使用者)
* request:一個請求鏈!
* pageContext:一個jsp頁面!這個域是在當前jsp頁面和當前jsp頁面中使用的標籤之間共享資料!
EL表示式11個隱式物件
* pageScope:包含page作用域內的Map.
* requestScope:包含request作用域內的Map.
* sessionScope:包含session作用域內的Map.
* applicationScope:包含application作用域內的Map
* param:獲取<context-param>內的引數!
* paramValues:對應引數,它是一個Map,其中key引數名,value是多個引數值,適用於多值的引數。
* header:對應請求頭,它是一個Map,其中key表示頭名稱,value是單個頭值,適用於單值請求頭
* headerValues:對應請求頭,它是一個Map,其中key表示頭名稱,value是多個頭值,適用於多值請求頭
* initParam:獲取<context-param>內的引數!
* cookie:Map<String,Cookie>型別,其中key是cookie的name,value是cookie物件。 ${cookie.username.value}
* pageContext:它是PageContext型別!${pageContext.request.contextPath}