jsp九大內建對象及四個範圍

來源:互聯網
上載者:User

標籤:封裝   class   ext   owa   需要   過程   對象   res   object   

JSP九大對象:內建對象(又叫隱含對象,有9個內建對象):不需要預先聲明就可以在指令碼代碼和運算式中隨意使用。

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表單中填寫的資訊等,是最常用的對象。用戶端的請求資訊被封裝在request對象中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的執行個體。範圍為request(使用者請求期)。

 

二、response對象:對象代表的是對用戶端的響應,也就是說可以通過response 對象來組織發送到用戶端的資料。但是由於組織方式比較底層,所以不建議普通讀者使用,需要向用戶端發送文字時直接使用。它是HttpServletResponse類的執行個體。範圍為page(頁面執行期)。

 

三、session對象:指的是用戶端與伺服器的一次會話,從客戶連到伺服器的一個WebApplication開始,直到用戶端與伺服器中斷連線為止。它是HttpSession類的執行個體。範圍session(會話期—)。

 

四、out對象 :out對象是JspWriter類的執行個體,是向用戶端輸出內容常用的對象 。範圍為page(頁面執行期)

 

五、page對象:page對象就是指向當前JSP頁面本身,有點象類中的this指標,它是java.lang.Object類的執行個體 。“page” 對象代表了正在啟動並執行由JSP檔案產生的類對象,不建議一般讀者使用。 範圍    page

 

六、application對象:實現了使用者間資料的共用,可存放全域變數。它開始於伺服器的啟動,直到伺服器的關閉,在此期間,此對象將一直存在;這樣在使用者的前後串連或不同使用者之間的串連中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他使用者對此的訪問。伺服器的啟動和關閉決定了application對象的生命。它是ServletContext類的執行個體。範圍application

 

七、pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當於頁面中所有功能的集大成者,它的本類名也叫pageContext。用域    Pageconfig對象

 

八、config對象:config對象是在一個Servlet初始化時,JSP引擎向它傳遞資訊用的,此資訊包括Servlet初始化時所要用到的參數(通過屬性名稱和屬性值構成)以及伺服器的有關資訊(通過傳遞一個ServletContext對象)。範圍    Page

 

九、exception對象:是一個例外對象,當一個頁面在運行過程中發生了例外,就產生這個對象。如果一個JSP頁面要應用此對象,就必須把isErrorPage設為true,否則無法編譯。他實際上是java.lang.Throwable的對象.範圍    page

 

 

範圍規定的是變數的有效期間限

  如果把變數放到pageContext裡,就說明它的範圍是page,它的有效範圍只在當前jsp頁面裡。

  從把變數放到pageContext開始,到jsp頁面結束,你都可以使用這個變數。

  如果把變數放到request裡,就說明它的範圍是request,它的有效範圍是當前請求周期。

  所謂請求周期,就是指從http請求發起,到伺服器處理結束,返迴響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。

  如果把變數放到session裡,就說明它的範圍是session,它的有效範圍是當前會話。

  所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變數,就可以在當前會話的所有請求裡使用。

  如果把變數放到application裡,就說明它的範圍是application,它的有效範圍是整個應用。

  整個應用是指從應用啟動,到應用結束。我們沒有說“從伺服器啟動,到伺服器關閉”,是因為一個伺服器可能部署多個應用,當然你關閉了伺服器,就會把上面所有的應用都關閉了。

  application範圍裡的變數,它們的存活時間是最長的,如果不進行手工刪除,它們就一直可以使用。

  與上述三個不同的是,application裡的變數可以被所有使用者共用。如果使用者甲的操作修改了application中的變數,使用者乙訪問時得到的是修改後的值。這在其他scope中都是不會發生的,page, request,session都是完全隔離的,無論如何修改都不會影響其他人的資料。

                                                                              

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.