1. 程式人生 > >【夯實基礎】JSP的9個內建物件

【夯實基礎】JSP的9個內建物件

  request, response, out, session,application, config, pagecontext, page, exception

request物件該物件封裝了使用者提交的資訊,通過呼叫該物件相應的方法可以獲取封裝的資訊,即使用該物件可以獲取使用者提交資訊。
二.response物件
  對客戶的請求做出動態的響應,向客戶端傳送資料
  三.session物件
  1.什麼是session:session物件是一個JSP內建物件,它在第一個JSP頁面被裝載時自動建立,完成會話期管理。
  從一個客戶開啟瀏覽器並連線到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間反覆連線,反覆重新整理一個頁面,伺服器應當通過某種辦法知道這是同一個客戶,這就需要session物件。
  2.session物件的ID:當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個session物件,同時分配一個String型別的ID號,JSP

引擎同時將這個ID號傳送到客戶端,存放在Cookie中,這樣session物件和客戶之間就建立了一一對應的關係。當客戶再訪問連線該伺服器的其他頁面時,不再分配給客戶新的session物件,直到客戶關閉瀏覽器後,伺服器端該客戶的session物件才取消,並且和客戶的會話對應關係消失。當客戶重新開啟瀏覽器再連線到該伺服器時,伺服器為該客戶再建立一個新的session物件。
  四.aplication物件
  1.什麼是application:
  伺服器啟動後就產生了這個application物件,當客戶在所訪問的網站的各個頁面之間瀏覽時,這個application物件都是同一個,直到伺服器關閉。但是與session不同的是,所有客戶的application物件都是同一個,即所有客戶共享這個內建的application物件。
  2.application物件常用方法:
  (1)public void setAttribute(Stringkey,Object obj): 將引數Object指定的物件obj新增到application物件中,併為新增的物件指定一個索引關鍵字。
  (2)public Object getAttribute(Stringkey): 獲取application物件中含有關鍵字的物件。
  五
out物件

  out物件是一個輸出流,用來向客戶端輸出資料。out物件用於各種資料的輸出。
  六page    java.lang.Object
  對應this關鍵字。JSP網頁本身
  page物件是當前頁面轉換後的Servlet類的例項。從轉換後的Servlet類的程式碼中,可以看到這種關係:
  Object page = this;
  在JSP頁面中,很少使用page物件。
  七config
  javax.servlet. ServletConfig 的例項,該例項代表該JSP 的配置資訊。常用的方法有getInitPararneter(StringparamNarne) 及getInitPararneternarnes() 等方法。事實上, JSP 頁面通常無須配置,也就不存在配置資訊。因此,該物件更多地在Servlet 中有效。
  八• exception

  java.lang.Throwable 的例項,該例項代表其他頁面中的異常和錯誤。只有當頁面是錯誤處理頁面,即編譯指令page 的isErrorPage 屬性為true 時,該物件才可以使用。常用的方法有getMessageO和printStackTraceO等。
  九pageContext
  javax.servlet.jsp.PageContext 的例項,該物件代表該JSP 頁面上下文,使用該物件可以訪問頁面中的共享資料。常用的方法有getServletContextO和getServletConfigO等。
  //使用pageContext設定屬性,該屬性預設在page 範圍內
  pageContext. setAttribute("page" , "hello") ;
  //使用request 設定屬性,該屬性預設在request 範圍內
  request. setAttribute("request" , "hello");
  //使用pageContext將屬性設定在request 範圍中
 pageContext.setAttribute("request2" , "hello" ,pageContext.REQUEST_SCOPE);
  // 使用session將屬性設定在session 範圍中
 session.setAttribute("session" , "hello"l;
  //使用pageContext將屬性設定在session範圍中
 pageContext.setAttribute("session2" , "hello" ,pageContext.SESSION_SCOPE);
  //使用application將屬性設定在application範圍中
  application. setAttribute("app" , "hello") ;
  //使用pageContext將屬性設定在application 範圍中
 pageContext.setAttribute("app2" , "hello" ,pageContext.APPL 工CATION_SCOPE) ;