jsp內建對象及其執行個體講解

來源:互聯網
上載者:User
 (一)內建對象的介紹
     jsp為簡化頁面的開發提供了一些內部對象.這些內部對象不需要由jsp的編寫者執行個體化,他們由容器實現和管理,在所有的jsp頁面上
都能使用內部對象.所有的隱藏對象只有對Scriptlet或者運算式有用,在jsp聲明中不可用.

1.out
    out對象被封裝成javax.servlet.jsp.jspWriter介面.它表示為客戶開啟的輸出資料流,PrintWriter使用它向用戶端發送輸出資料流.
    用於向用戶端輸出資料.
    out.println(Object),out.print(Object)輸出Object類型. println方法在內容後面添加一空行,但是這個空行被瀏覽器解析掉,所以
                                                         如果要換行,要添加out.println("<br>").
    out.newLine() 輸出一個換行字元.
    out.flush() 輸出緩衝區裡的資料.
    out.close() 關閉輸出資料流.
    out.clearBuffer() 清除緩衝區裡的資料,並把資料輸出到用戶端.
    out.clear() 清除緩衝區裡的資料,但不把資料輸出到用戶端.
    out.getBufferSize()獲得緩衝區的大小.
    out.getRemaining() 獲得緩衝區中沒有被佔用的空間的大小.
    out.isAutoFlush() 返回布爾值.

2.request
    request對象代表請求對象,它被封裝成httpServletRequest介面.通過getparameter方法可以得到request的參數,通過GET,POST,HEAD
    等方法可以得到request的類型.通過Cookies,Referer等可以得到請求的Http頭.
    來自用戶端的請求經Servlet容器處理後,由request對象進行封裝.它作為jspService()方法的一個參數由容器傳遞給jsp頁面.
    getAttributeNames() 返回request對象的所有屬性的名字集合,其結果是一個枚舉類型.
    getAttribute(String name) 返回由name指定的屬性值,如果不存在,則返回null.
    isUserInRole(String role) 判斷認證後的使用者是否屬於邏輯的role中的成員.
    getCookies() 返回用戶端所有的cookie對象,結果是一個Cookie數組.
    getCharacterEncoding() 返回請求中的字元編碼方式.
    getContentLength() 返回請求的Body的長度,如果不確定長度,則返回-1.
    getHeader(String name) 獲得HTTP協議定義的檔案頭資訊.
    getHeaders(String name) 返回指定名字的request Header的所有值,其結果是一個枚舉類型.
    getHeaderNames() 返回所有的request Header的名字.枚舉.
    getInputStream() 返回請求的輸入資料流,用於獲得請求中的資料.
    getMethod() 獲得用戶端向伺服器端傳送資料的方法,如:post,get,header,trace.
    getParameter(String name) 獲得用戶端傳送給伺服器端的參數值,該參數是由name指定的,通常是表單中的參數.
    getParameterNames() 獲得用戶端發送給伺服器端的所有參數的名字.
    getParameterValues(String name) 獲得指定參數的所有值,參數由name指定.
    getProtocol() 擷取用戶端向伺服器端傳送資料所依據的協議名稱.
    getQueryString() 獲得查詢字串,該字串是由用戶端以get方法向伺服器端傳送的.
    getRequestURI() 擷取發出請求字串的用戶端地址.
    getRemoteAddr() 擷取用戶端的IP地址.
    getRemoteHost() 擷取用戶端的名字.
    getSession([Boolean create]) 返回和請求有關的session.當由參數create且這個參數為true,如果用戶端還沒有建立session,那麼將建立一個新的session.
    getServerName() 擷取伺服器的名字.
    getServerPath() 擷取用戶端所請求的指令檔的檔案路徑.
    getServerPort() 擷取伺服器的連接埠號碼.
    removeAttribute(String name) 刪除請求中的一個屬性.
    setAttribute(String name,java.lang.Ojbect objt) 設定名字為name的request參數的值.
   
3.response
    response被封裝成HttpServletResponse介面.它封裝了jsp產生的響應,然後被發送到用戶端以響應客戶的請求.和request對象一樣,
    它由容器產生,作為jspService()方法的參數被傳入jsp.因為輸出資料流是緩衝的,所以可以設定Http狀態代碼和response頭.
    addCookie(Cookie cook) 添加一個Cookie對象,用來儲存用戶端的使用者資訊.
    addHeader(String name,String value) 添加HTTP檔案頭資訊,該header將傳到用戶端去,如果已經存在同名的header,則會覆蓋以前的header.
    containsHeader(String name) 判斷指定名字的http檔案頭是否已經存在,然後返回boolean.
    encodeURL() 使用sessionId來封裝URL.
    flushBuffer() 強制把當前緩衝區的內容發送到用戶端.
    getBufferSize() 返回緩衝區的大小.
    getOutputStream() 返回到用戶端的輸出資料流對象.
    sendError(int) 向用戶端發送錯誤的資訊. 例如:404是指網頁不存在或者請求的頁面無效.
    sendRedirect(String location) 把響應發送到另一個位置進行處理.
    setContentType(String contentType) 設定響應的MIMEL類型.
    setHeaders(String name,Strng value) 設定指定名字的Http檔案頭的值,如果該值已經存在,則新值會覆蓋原有的舊值.

4.session
    session對象用來儲存每個使用者的資訊.以便跟蹤每個使用者的操作狀態.其中session資訊儲存在容器裡,session的ID儲存在客戶機的Cookie中.
    和session對應的是HttpSession介面.
    getAttribute(String name) 擷取與指定名字name相聯絡的屬性.
    在jsp1.0中,這個方法為session.getValue(String name).
    getAttributeNames() 返回session對象中儲存的每一個屬性對象.
    getCreationTime() 返回session被建立的時間.
    getId() 此方法返回唯一標識,每個session的ID是不同的.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.