1. 程式人生 > >servlet三大作用域 jsp四大作用域 jsp九個內建物件 el表示式11個隱藏物件

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}