Jsp的四大範圍與九大對象

來源:互聯網
上載者:User

標籤:

內建對象特點:

1. 由JSP規範提供,不用編寫者執行個體化。

2. 通過Web容器實現和管理

3. 所有JSP頁面均可使用

4. 只有在指令碼元素的運算式或程式碼片段中才可使用(<%=使用內建對象%>或<%使用內建對象%>)

 

常用內建對象:

1. 輸出輸入對象:request對象、response對象、out對象

2. 通訊控制對象:pageContext對象、session對象、application對象

3. Servlet對象:page對象、config對象

4. 錯誤處理對象:exception對象

 

 

Request(Javax.servlet.ServletRequest)它包含了有關瀏覽器請求的資訊.通過該對象可以獲得請求中的頭資訊、Cookie和請求參數。

Response(Javax.servlet.ServletResponse)作為JSP頁面處理結果返回給使用者的響應儲存在該對象中。並提供了設定響應內容、回應標頭以及重新導向的方法(如cookies,頭資訊等)

Out(Javax.servlet.jsp.JspWriter)用於將內容寫入JSP頁面執行個體的輸出資料流中,提供了幾個方法使你能用於向瀏覽器回送輸出結果。

pageContext(Javax.servlet.jsp.PageContext)描述了當前JSP頁面的運行環境。可以返回JSP頁面的其他隱式對象及其屬性的訪問,另外,它還實現將控制權從當前頁面傳輸至其他頁面的方法。

Session(javax.servlet.http.HttpSession)會話Object Storage Service有關此會話的資訊,也可以將屬性賦給一個會話,每個屬性都有名稱和值。會話對象主要用於儲存和檢索屬性值。

Application(javax.servle.ServletContext)儲存了運行JSP頁面的servlet以及在同一應用程式中的任何Web組件的上下文資訊。

Page(Java.lang.Object)表示當前JSP頁面的servlet執行個體

Config(javax.servlet.ServletConfig)該對象用於存取servlet執行個體的初始化參數。

Exception(Javax.lang.Throwable)在某個頁面拋出異常時,將轉寄至JSP錯誤頁面,提供此對象是為了在JSP中處理錯誤。只有在錯誤頁面中才可使用<%@page isErrorPage=“true”%>

 

Jsp內建對象

功能

主要方法

out

向用戶端輸出資料

print() println() flush() clear() isAutoFlush() getBufferSize() close() …………

request

向用戶端請求資料

getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() …………..

response

封裝了jsp產生的響應,然後被發送到用戶端以響應客戶的請求

addCookie() sendRedirect() setContentType()

flushBuffer() getBufferSize() getOutputStream()

sendError() containsHeader()……………

application

   

config

表示Servlet的配置,當一個Servlet初始化時,容器把某些資訊通過此對象傳遞給這個Servlet

getServletContext() getServletName() getInitParameter() getInitParameterNames()……………

page

Jsp實作類別的執行個體,它是jsp本身,通過這個可以對它進行訪問

flush()………

pagecontext

為JSP頁麵包裝頁面的上下文。管理對屬於JSP中特殊可見部分中己經命名物件的該問

forward() getAttribute() getException() getRequest() getResponse() getServletConfig()

getSession() getServletContext() setAttribute()

removeAttribute() findAttribute() ……………

session

用來儲存每個使用者的資訊,以便跟蹤每個使用者的操作狀態

getAttribute() getId() getAttributeNames() getCreateTime() getMaxInactiveInterval()

invalidate() isNew()

exception

反映啟動並執行異常

getMessage()…………

 


 

pageContext, request, session、application四個範圍中

        1、如果把變數放到pageContext裡,就說明它的範圍是page,它的有效範圍只在當前jsp頁面裡。 從把變數放到pageContext開始,到jsp頁面結束,你都可以使用這個變數。

        2、如果把變數放到request裡,就說明它的範圍是request,它的有效範圍是當前請求周期。所謂請求周期,就是指從http請求發起,到伺服器處理結束,返迴響應的整個過程。在這個過            程中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裡你都可以使用這個變數。        3、如果把變數放到session裡,就說明它的範圍是session,它的有效範圍是當前會話。所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變數,

        4、如果把變數放到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.