程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> JSP編程 >> 關於JSP >> JSP的九大內置對象

JSP的九大內置對象

編輯:關於JSP

內置對象(又叫隱含對象,有9個內置對象):不需要預先聲明就可以在腳本代碼和表達式中隨意使用

1-out:

javax.servlet.jsp.JspWriter類型,代表輸出流的對象。作用域為page(頁面執行期)

request:javax.servlet.ServletRequest的子類型,此對象封裝了由WEB浏覽器或其它客戶端生成地HTTP

請求的細節(參數,屬性,頭標和數據)。作用域為request(用戶請求期)。
方法由可查看API

response:javax.servlet.ServletResponse的子類型,此對象封裝了返回到HTTP客戶端的輸出,向頁面

作者提供設置響應頭標和狀態碼的方式。經常用來設置HTTP標題,添加cookie,設置響應內容的類型和狀

態,發送HTTP重定向和編碼URL。作用域為page(頁面執行期)。


pageContext:javax.servlet.jsp.PageContext(抽象類)類型,作用域為page(頁面執行期)。此對象

提供所有四個作用域層次的屬性查詢和修改能力,它也提供了轉發請求到其它資源和包含其他資源的方法


該對象的方法都是抽象方法

session:javax.servlet.http.HttpSession類型,主要用於跟蹤對話。作用域session(會話期—)。

HttpSession是一個類似哈希表的與單一WEB浏覽器會話相關的對象,它存在於HTTP請求之間,可以存儲任

何類型的命名對象。
如果不需要在請求之間跟蹤會話對象,可以通過在page指令中指定session="false"
需要記住的是pageContext對象也可以與session.getAttribute(),session.setAttribute()一樣的方式取

得並設置會話屬性。

application:javax.servlet.ServletContext類型,servlet的環境通過調用getServletConfig

().getContext()方法獲得。作用域是application(整個程序運行期)。它提供了關於服務器版本,應用

級初始化參數和應用內資源絕對路徑,注冊信息的方式


config:javax.servlet.ServletConfig,作用域為page(頁面執行期)

exception:java.lang.Throwable,通過JSP錯誤頁面中一個catch塊已經益出但沒有捕獲的

java.lang.Throwable的任意實例,傳向了errorPage的URI。作用域為page(頁面執行期)。注意

exception只有在page指令中具有屬性isErrorPage="true"時才有效。

page:java.lang.Object類型,指向頁面自身的方式。作用域為page(頁面執行期

JSP中九大內置對象為:
request            請求對象                 類型 javax.servlet.ServletRequest        作用域 Request
response          響應對象                   類型 javax.servlet.SrvletResponse       作用域 Page
pageContext    頁面上下文對象       類型 javax.servlet.jsp.PageContext      作用域    Page
session            會話對象                   類型 javax.servlet.http.HttpSession       作用域    Session
application       應用程序對象          類型 javax.servlet.ServletContext          作用域    Application
out                   輸出對象                   類型 javax.servlet.jsp.JspWriter             作用域    Page
config              配置對象                  類型 javax.servlet.ServletConfig            作用域    Page
page               頁面對象                  類型 javax.lang.Object                            作用域    Page
exception        例外對象                 類型 javax.lang.Throwable                     作用域    page

request 對象代表的是來自客戶端的請求,例如我們在FORM表單中填寫的信息等,是最常用的對象

常用的方法有:getParameter、getParameterNames 和getParameterValues 通過調用這幾個方法來獲取請求對象中所包含的參數的值。

response 對象代表的是對客戶端的響應,也就是說可以通過response 對象來組織發送到客戶端的數據。但是由於組織方式比較底層,所以不建議普通讀者使用,需要向客戶端發送文字時直接使用

pageContext 對象直譯時可以稱作“頁面上下文”對象,代表的是當前頁面運行的一些屬性

常用的方法有 :findAttribute、getAttribute、getAttributesScope 和getAttributeNamesInScope
一般情況下pageContext對象用到得也不是很多,只有在項目所面臨的情況比較復雜的情況下,才會利用到頁面屬性來輔助處理。

session    對象代表服務器與客戶端所建立的會話,當需要在不同的JSP頁面中保留客戶信息的情況下使用,比如在線購物、客戶軌跡跟蹤等。“session” 對象建立在cookie的基礎上,所以使用時應注意判斷一下客戶端是否打開了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。

概要
HTTP是無狀態(stateless)協議;
Web Server 對每一個客戶端請求都沒有歷史記憶;
Session用來保存客戶端狀態信息;
由Web Server 寫入;
存於客戶端;
客戶端的每次訪問都把上次的session記錄傳遞給Web Server;
Web Server讀取客戶端提交的session來獲取客戶端的狀態信息

application 對象負責提供應用程序在服務器中運行時的一些全局信息,常用的方法有getMimeType和getRealPath等。

out 對象代表了向客戶端發送數據的對象,與“response” 對象不同,通過“out” 對象發送的內容將是浏覽器需要顯示的內容,是文本一級的,可以通過“out” 對象直接向客戶端寫一個由程序動態生成HTML文件。常用的方法除了pirnt和println之外,還包括clear、clearBuffer、flush、getBufferSize和getRemaining,這是因為“out” 對象內部包含了一個緩沖區,所以需要一些對緩沖區進行操作的方法

“config” 對象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以獲得Servlet初始化時的參數。

“page” 對象代表了正在運行的由JSP文件產生的類對象,不建議一般讀者使用。

“exception” 對象則代表了JSP文件運行時所產生的例外對象,此對象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用 


摘自 gdn_wolf的專欄 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved