JSP九大內建對象的作用和用法總結(轉寄)

來源:互聯網
上載者:User

標籤:lin   跟蹤   config   header   種類   protocol   code   blank   void   

jsp九大內建對象:內建對象/範圍(每一種範圍的生命週期是不一樣的):

1, application 全域範圍
2, session 會話範圍
3, request 請求範圍
4, pageContext 頁面範圍

內建對象

5, response 響應對象
6, out 輸出資料流對象
7, page 當前頁面對象的執行個體
8, exception 異常
9, config ServletConfig/FilterConfig對象

優先順序(按照生命週期的長短):application > session > request > pageContext

1、application對象:全域範圍

  application 對象可將資訊儲存在伺服器中,直到伺服器關閉,否則application對象中儲存的資訊會在整個應用中都有效。與session對象相比,application對象生命週期更長,類似於系統的“全域變數”。

  伺服器啟動後就產生了這個Application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到伺服器關閉。但是與Session對象不同的時,所有客戶的Application對象都時同一個,即所有客戶共用這個內建的Application對象。

  setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Application對象中,並為添加的對象指定一個索引關鍵字。

  getAttribute(String key):擷取Application對象中含有關鍵字的對象。

2、session對象 :會話範圍

  Session對象是一個JSP內建對象,它在第一個JSP頁面被裝載時自動建立,完成會話期管理。從一個客戶開啟瀏覽器並串連到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間切換,伺服器應當通過某種辦法知道這是一個客戶,就需要Session對象。

  當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個Session對象,同時分配一個String類型的ID號,JSP引擎同時將這換個ID號發送到用戶端,存放在Cookie中,這樣Session對象,直到客戶關閉瀏覽器後,伺服器端該客戶的Session對象才取消,並且和客戶的會話對應關係消失。當客戶重新開啟瀏覽器再串連到該伺服器時,伺服器為該客戶再建立一個新的Session對象。

  session 對象是由伺服器自動建立的與使用者請求相關的對象。伺服器為每個使用者都產生一個session對象,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。

   session對象內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session對象的value可以使複雜的物件類型,而不僅僅局限於字串類型。

  public String getId():擷取Session對象編號。

  public void setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Session對象中,並為添加的對象指定一個索引關鍵字。

  public Object getAttribute(String key):擷取Session對象中含有關鍵字的對象。

  public Boolean isNew():判斷是否是一個新的客戶。

3、request對象javax.servlet.http.HttpServletRequest

  request對象代表了用戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。(包括頭資訊、系統資訊、請求方式以及請求參數等)。

  request對 象的範圍為一次請求。

  當Request對象擷取客戶提交的漢字字元時,會出現亂碼問題,必須進行特殊處理。首先,將擷取的字串用ISO-8859-1進行編碼,並將編碼存發島一個位元組數組中,然後再將這個數組轉化為字串對象如下

  Request常用的方法:

String   getParameter(String strTextName) 擷取表單提交的資訊.

String[ ]   getParameterNames() 擷取用戶端提交的所有參數的名字。 

getProtocol() 擷取客戶使用的協議。String strProtocol=request.getProtocol();

getServletPath() 擷取客戶提交資訊的頁面。String strServlet=request.getServletPath();

getMethod() 擷取客戶提交資訊的方式 String strMethod=request.getMethod();

getHeader() 擷取HTTP標頭檔中的accept,accept-encoding和Host的值,String strHeader=request.getHeader();

getRermoteAddr() 擷取客戶的IP地址。String strIP=request.getRemoteAddr();

getRemoteHost() 擷取客戶機的名稱。String clientName=request.getRemoteHost();

getServerName() 擷取伺服器名稱。 String serverName=request.getServerName();

getServerPort() 擷取伺服器的連接埠號碼。 int serverPort=request.getServerPort();

4、response對象 javax.servlet.http.HttpServletResponse

  response 代表的是對用戶端的響應,主要是將JSP容器處理過的對象傳回到用戶端。response對象也具有範圍,它只在JSP頁面內有效。

  具有動態響應contentType屬性,當一個使用者訪問一個JSP頁面時,如果該頁面用page指令設定頁面的contentType屬性是text/html,那麼JSP引擎將按照這個屬性值做出反應。

如果要動態改變這換個屬性值來響應客戶,就需要使用Response對象的setContentType(String s)方法來改變contentType的屬性值。response.setContentType(String s);  參數s可取text/html,application/x-msexcel,application/msword等。

  在某些情況下,當響應客戶時,需要將客戶重新引導至另一個頁面,可以使用Response的sendRedirect(URL)方法實現客戶的重新導向。例如response.sendRedirect(index.jsp);

5、out 對象javax.servlet.jsp.jspWriter

  out 對象用於在Web瀏覽器內輸出資訊,並且管理應用伺服器上的輸出緩衝區。在使用 out 對象輸出資料時,可以對資料緩衝區進行操作,及時清除緩衝區中的殘餘資料,為其他的輸出讓出緩衝空間。待資料輸出完畢後,要及時關閉輸出資料流。

  Out對象時一個輸出資料流,用來向用戶端輸出資料。Out對象用於各種資料的輸出。其常用方法如下。

  out.print():輸出各種類型資料。

   out.newLine():輸出一個分行符號。

   out.close():關閉流。

6、pageContext 對象javax.servlet.jsp.PageContext

  pageContext 對象的作用是取得任何範圍的參數,通過它可以擷取 JSP頁面的out、request、reponse、session、application 等對象。

  pageContext對象的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對象。

  page 對象代表JSP本身,只有在JSP頁面內才是合法的。 page隱含對象本質上包含當前 Servlet介面引用的變數,類似於Java編程中的 this 指標。

7、config 對象javax.servlet.ServletConfig

  config 對象的主要作用是取得伺服器的配置資訊。通過 pageConext對象的 getServletConfig() 方法可以擷取一個config對象。當一個Servlet 初始化時,容器把某些資訊通過 config對象傳遞給這個 Servlet。開發人員可以在web.xml 檔案中為應用程式環境中的Servlet程式和JSP頁面提供初始化參數

8、exception 對象java.lang.Throwable

  exception 對象的作用是顯示異常資訊,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對象將無法編譯JSP檔案。

  excepation對象和Java的所有對象一樣,都具有系統提供的繼承 結構。

  exception 對象幾乎定義了所有異常情況。在Java程式中,可以使用try/catch關鍵字來處理異常情況; 如果在JSP頁面中出現沒有捕獲到的異常,就會產生 exception 對象,並把   exception 對象傳送到在page指令中設定的錯誤頁面中,然後在錯誤頁面中處理相應的 exception 對象。

JSP九大內建對象的作用和用法總結(轉寄)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.