1. 程式人生 > >JSP九大內建物件和四個作用域

JSP九大內建物件和四個作用域



現在我們先來說一下四個作用域,以便描述各大物件都分屬於什麼作用域,下面我們就通過一張簡單的表格來看看各大作用域的資訊共享範圍:

    第一個作用域是page,他只在當前頁面有效,也就是使用者請求的頁面有效,噹噹前頁面關閉或轉到其他頁面時,page物件將在響應回饋給客戶端後釋放。

    第二個作用域是request,他在當前請求中有效,request可以通過setAttribute()方法實現頁面中的資訊傳遞,也可以通過forward()方法進行頁面間的跳轉,需要注意的是request是轉發不是重定向,轉發相對於瀏覽器來說是透明的,也就是無論頁面如何跳轉,位址列上顯示的依舊是最初的地址。

    第三個作用域是session,他在當前回話中有效。當一個臺電腦上的同一瀏覽器對伺服器進行多次訪問時,在這多次訪問之間傳遞的資訊就是session作用域的範圍。它從瀏覽器發出第一個HTTP請求即可認為會話開始,但是會話結束的時間是不確定的,因為在瀏覽器關閉時並不會通知伺服器,一般Tomcat設定的預設時間為120分鐘,也可以通過setMaxInactiveInterval(int)方法進行設定,或是通過invalidate()方法強制結束當前會話。

    第四個作用域是application,他在所有的應用程式中都有效,也就是當伺服器開始到伺服器結束這段時間,application作用域中儲存的資料都是有效的,同樣可以通過setAttribute賦值和getAttribute取值。

    好了,相信現在大家已經對四個作用域有了一定的瞭解,下面我們來說一下九大內建物件。

內建物件一(out):

    out 物件用於在Web瀏覽器內輸出資訊,並且管理應用伺服器上的輸出緩衝區。在使用 out 物件輸出資料時,可以對資料緩衝區進行操作,及時清除緩衝區中的殘餘資料,為其他的輸出讓出緩衝空間。待資料輸出完畢後,要及時關閉輸出流。其最常用的方法為print,可在頁面中顯示字串資訊。out的作用域為page:

<%out.print("Hello"); %>

內建物件二(request):

    request 物件是 javax.servlet.httpServletRequest型別的物件。 該物件代表了客戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。(包括頭資訊、系統資訊、請求方式以及請求引數等)。request物件的作用域為一次請求(也就是request作用域)。request的常用方法有getParameter(String name)根據表單元件名稱獲取頁面提交資料,getParameterValues(String name)獲取一組以相同名稱命名的表單元件提交的資料,setCharacterEncoding(String charset)在呼叫getParameter()方法前進行設定,用於解決中文亂碼,getRequestDispatcher(String path)返回一個javax.servlet.RequestDispatcher物件,該物件的forward()方法用於轉發請求:

[javascript] view plain copy
  1. <%  
  2.   Object obj = new Object();  
  3.       request.getParameter("uname");  
  4.       request.getParameterValues("rid");  
  5.       request.setCharacterEncoding("UTF-8");  
  6.       request.getRequestDispatcher("目標頁面").forward(request,response);  
  7.   %>  


內建物件三(response):

    response 代表的是對客戶端的響應,主要是將JSP容器處理過的物件傳回到客戶端。response物件也具有作用域,它只在JSP頁面內有效。response的常用方法有addCookie(Cookie cookie)向客戶端新增cookie,serContentType(String type)設定HTTP響應的contentType型別,setCharacterEncoding(String charset)設定響應所採用的字元編碼型別,sendRedirect(String location)將請求重新定位到一個新的地址上,這是位址列上的地址會改變:

[javascript] view plain copy
  1. <%  
  2.   response.addCookie(cokkie);  
  3.   response.setContentType("type");  
  4.   response.setCharacterEncoding("utf-8");  
  5.   response.sendRedirect("重新定位的頁面");  
  6.   %>  


內建物件四(session):

    session 物件是由伺服器自動建立的與使用者請求相關的物件。伺服器為每個使用者都生成一個session物件,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。session物件內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session物件的value可以使用物件型別。session的常用方法有setAttribute(String key,Object value)以key/value的形式將物件儲存到session中,getAttribute(String key)通過key值獲取session中儲存的value,invalidate()強制session物件失效,getId()獲取sessionid,setMaxInactiveInterval(int interval)設定session的非活動時間,getMaxInactiveInterval()獲取session的有效非活動時間,removeAttribute(String key)刪除session中對應key的value值:

[javascript] view plain copy
  1. <%  
  2.    Object obj = new Object();  
  3.    session.setAttribute("key",obj);  
  4.    session.getAttribute("key");  
  5.    session.setMaxInactiveInterval(100);  
  6.    session.getMaxInactiveInterval();  
  7.    session.getId();  
  8.    session.removeAttribute("key");  
  9.    session.invalidate();  
  10.    %>  


內建物件五(application):

    application 物件可將資訊儲存在伺服器中,直到伺服器關閉,否則application物件中儲存的資訊會在整個應用中都有效。與session物件相比,application物件生命週期更長,類似於系統的“全域性變數”。application常用方法有setAttribute(String key,Object value)以key/value的形式將物件儲存到application中,getAttribute(String key)通過key獲取application中儲存的物件,getRealPath(String path)返回相對路徑的真實路徑:

[javascript] view plain copy
  1. <%  
  2.  Object obj = new Object();  
  3.  application.setAttribute("key",obj);  
  4.  application.getAttribute("key");  
  5.  application.getRealPath("路徑名");  
  6.  %>  


內建物件六(pageContext):

    pageContext 物件的作用是取得任何範圍的引數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等物件。pageContext物件的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext物件。pageContext的常用方法有getRequest()獲取request物件,getResponse()獲取response物件,getSession()獲得session物件,getOut()獲取out物件,setAttribute(String key,Object value)儲存屬性,getAttribute(String key)獲取屬性,include("url")請求指定的資源,並且將目標資源的響應結果包含在呼叫頁面的響應中:

[javascript] view plain copy
  1. <%  
  2.    Object obj = new Object();  
  3.    pageContext.getRequest();  
  4.    pageContext.getResponse();  
  5.    pageContext.getSession();  
  6.    pageContext.getOut();  
  7.    pageContext.setAttribute("key",obj);  
  8.    pageContext.getAttribute("key");  
  9.    pageContext.include("資源地址");  
  10.    %>  

內建物件七(page):

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

內建物件八(config): 

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

內建物件九(exception):

    exception 物件的作用是顯示異常資訊,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該物件將無法編譯JSP檔案。excepation物件和Java的所有物件一樣,都具有系統提供的繼承結構。exception 物件幾乎定義了所有異常情況。在Java程式中,可以使用try/catch關鍵字來處理異常情況; 如果在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 物件,並把 exception 物件傳送到在page指令中設定的錯誤頁面中,然後在錯誤頁面中處理相應的 exception 物件。

    因為後三個物件很少在JSP頁面中使用,所以在這裡不過多介紹。

現在我們先來說一下四個作用域,以便描述各大物件都分屬於什麼作用域,下面我們就通過一張簡單的表格來看看各大作用域的資訊共享範圍:

    第一個作用域是page,他只在當前頁面有效,也就是使用者請求的頁面有效,噹噹前頁面關閉或轉到其他頁面時,page物件將在響應回饋給客戶端後釋放。

    第二個作用域是request,他在當前請求中有效,request可以通過setAttribute()方法實現頁面中的資訊傳遞,也可以通過forward()方法進行頁面間的跳轉,需要注意的是request是轉發不是重定向,轉發相對於瀏覽器來說是透明的,也就是無論頁面如何跳轉,位址列上顯示的依舊是最初的地址。

    第三個作用域是session,他在當前回話中有效。當一個臺電腦上的同一瀏覽器對伺服器進行多次訪問時,在這多次訪問之間傳遞的資訊就是session作用域的範圍。它從瀏覽器發出第一個HTTP請求即可認為會話開始,但是會話結束的時間是不確定的,因為在瀏覽器關閉時並不會通知伺服器,一般Tomcat設定的預設時間為120分鐘,也可以通過setMaxInactiveInterval(int)方法進行設定,或是通過invalidate()方法強制結束當前會話。

    第四個作用域是application,他在所有的應用程式中都有效,也就是當伺服器開始到伺服器結束這段時間,application作用域中儲存的資料都是有效的,同樣可以通過setAttribute賦值和getAttribute取值。

    好了,相信現在大家已經對四個作用域有了一定的瞭解,下面我們來說一下九大內建物件。

內建物件一(out):

    out 物件用於在Web瀏覽器內輸出資訊,並且管理應用伺服器上的輸出緩衝區。在使用 out 物件輸出資料時,可以對資料緩衝區進行操作,及時清除緩衝區中的殘餘資料,為其他的輸出讓出緩衝空間。待資料輸出完畢後,要及時關閉輸出流。其最常用的方法為print,可在頁面中顯示字串資訊。out的作用域為page:

<%out.print("Hello"); %>

內建物件二(request):

    request 物件是 javax.servlet.httpServletRequest型別的物件。 該物件代表了客戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。(包括頭資訊、系統資訊、請求方式以及請求引數等)。request物件的作用域為一次請求(也就是request作用域)。request的常用方法有getParameter(String name)根據表單元件名稱獲取頁面提交資料,getParameterValues(String name)獲取一組以相同名稱命名的表單元件提交的資料,setCharacterEncoding(String charset)在呼叫getParameter()方法前進行設定,用於解決中文亂碼,getRequestDispatcher(String path)返回一個javax.servlet.RequestDispatcher物件,該物件的forward()方法用於轉發請求:

[javascript] view plain copy
  1. <%  
  2.   Object obj = new Object();  
  3.       request.getParameter("uname");  
  4.       request.getParameterValues("rid");  
  5.       request.setCharacterEncoding("UTF-8");  
  6.       request.getRequestDispatcher("目標頁面").forward(request,response);  
  7.   %>  


內建物件三(response):

    response 代表的是對客戶端的響應,主要是將JSP容器處理過的物件傳回到客戶端。response物件也具有作用域,它只在JSP頁面內有效。response的常用方法有addCookie(Cookie cookie)向客戶端新增cookie,serContentType(String type)設定HTTP響應的contentType型別,setCharacterEncoding(String charset)設定響應所採用的字元編碼型別,sendRedirect(String location)將請求重新定位到一個新的地址上,這是位址列上的地址會改變:

[javascript] view plain copy
  1. <%  
  2.   response.addCookie(cokkie);  
  3.   response.setContentType("type");  
  4.   response.setCharacterEncoding("utf-8");  
  5.   response.sendRedirect("重新定位的頁面");  
  6.   %>  


內建物件四(session):

    session 物件是由伺服器自動建立的與使用者請求相關的物件。伺服器為每個使用者都生成一個session物件,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。session物件內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session物件的value可以使用物件型別。session的常用方法有setAttribute(String key,Object value)以key/value的形式將物件儲存到session中,getAttribute(String key)通過key值獲取session中儲存的value,invalidate()強制session物件失效,getId()獲取sessionid,setMaxInactiveInterval(int interval)設定session的非活動時間,getMaxInactiveInterval()獲取session的有效非活動時間,removeAttribute(String key)刪除session中對應key的value值:

[javascript] view plain copy
  1. <%  
  2.    Object obj = new Object();  
  3.    session.setAttribute("key",obj);  
  4.    session.getAttribute("key");  
  5.    session.setMaxInactiveInterval(100);  
  6.    session.getMaxInactiveInterval();  
  7.    session.getId();  
  8.    session.removeAttribute("key");  
  9.    session.invalidate();  
  10.    %>  


內建物件五(application):

    application 物件可將資訊儲存在伺服器中,直到伺服器關閉,否則application物件中儲存的資訊會在整個應用中都有效。與session物件相比,application物件生命週期更長,類似於系統的“全域性變數”。application常用方法有setAttribute(String key,Object value)以key/value的形式將物件儲存到application中,getAttribute(String key)通過key獲取application中儲存的物件,getRealPath(String path)返回相對路徑的真實路徑:

[javascript] view plain copy
  1. <%  
  2.  Object obj = new Object();  
  3.  application.setAttribute("key",obj);  
  4.  application.getAttribute("key");  
  5.  application.getRealPath("路徑名");  
  6.  %>  


內建物件六(pageContext):

    pageContext 物件的作用是取得任何範圍的引數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等物件。pageContext物件的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext物件。pageContext的常用方法有getRequest()獲取request物件,getResponse()獲取response物件,getSession()獲得session物件,getOut()獲取out物件,setAttribute(String key,Object value)儲存屬性,getAttribute(String key)獲取屬性,include("url")請求指定的資源,並且將目標資源的響應結果包含在呼叫頁面的響應中:

[javascript] view plain copy
  1. <%  
  2.    Object obj = new Object();  
  3.    pageContext.getRequest();  
  4.    pageContext.getResponse();  
  5.    pageContext.getSession();  
  6. 相關推薦

    JSP大內物件作用

    現在我們先來說一下四個作用域,以便描述各大物件都分屬於什麼作用域,下面我們就通過一張簡單的表格來看看各大作用域的資訊共享範圍:    第一個作用域是page,他只在當前頁面有效,也就是使用者請求的頁面有效,噹噹前頁面關閉或轉到其他頁面時,page物件將在響應回饋給客戶端後釋放

    JSP(二):JSP大內物件作用物件

    jsp的九大內建物件:        內建物件:            jsp檔案在轉譯成其對應的Servlet檔案的時候自動生成

    JSP大內物件作用

    內建物件(又叫隱含物件,有9個內建物件):不需要預先宣告就可以在指令碼程式碼和表示式中隨意使用 1-out:  javax.servlet.jsp.JspWriter型別,代表輸出流的物件。作用域為page(頁面執行期) request:javax.servlet.ServletRequest的子型

    20171013 JSP大內物件作用

    內建物件(又叫隱含物件,有9個內建物件):不需要預先宣告就可以在指令碼程式碼和表示式中隨意使用 1-out:  javax.servlet.jsp.JspWriter型別,代表輸出流的物件。作用域為page(頁面執行期) request:javax.servlet.ServletRequest的子型別,此物

    JSP頁面中物件作用

    JSP中內建物件也叫隱含物件,就是不需要預先宣告就可以在指令碼程式碼和表示式中隨意使用。 而這樣的內建物件在JSP中一共有九個以及四個作用域。 所謂“作用域”就是“資訊共享的範圍”,也就是說一個資訊能夠在多大的範圍內有效。4個JSP內建物件的作用域分別為:applicat

    (六)jsp9大內物件4作用

    jsp9個隱含物件 request:此物件封裝了由WEB瀏覽器或其它客戶端盛情的HTTP請求物件,例如最常用的在form表單填寫的資訊,最常用的方法: request.getParameter

    jsp 大內物件作用詳解

       JSP中一共預先定義了9個這樣的物件,分別為:request、response、session、application、out、pagecontext、config、page、exception 1、request物件 request 物件是 javax.servlet.httpServletRequ

    JSP大內物件EL表示式中的隱含物件

    雖然現在基本上使用SpringMVC+AJAX進行開發了Java Web了,但是還是很有必要了解一下JSP的九大內建物件的。像request、response、session這些物件,即便使用其他框架也是會經常用到的。因此十分有了解的必要。 這些物件可以在JSP

    jsp 大內物件 四大作用的區別

      JSP中一共有九個內建的物件,分別是:request、response、session、application、out、pagecontext、config、page、exception 1.request   該物件代表了客戶端的請求資訊,主要用於接受通過HTTP協

    JSP大內置對象作用

    直接 contex rep ges word 管理 緩沖區 狀態 開發者 現在我們先來說一下四個作用域,以便描述各大對象都分屬於什麽作用域,下面我們就通過一張簡單的表格來看看各大作用域的信息共享範圍: 第一個作用域是page,他只在當前頁面有效,也就是用戶請求的頁

    javaWeb學習日記_22:JSP大內物件動作

    九個內建物件 out --> jsp的輸出流,用來向客戶端響應  page --> 當前jsp物件! 它的引用型別是Object,即真身中有如下程式碼:Object page = this;  config --> 它對應真身中的Ser

    jsp大內物件及常用方法詳細方法

    • application: javax.servlet. ServletContext 的例項,該例項代表JSP 所屬的Web 應用本身,可用於JSP 頁面,或者Servlet 之間交換資訊。 常用的方法有: getAttribute(String attNarne

    JSP大內物件作用用法總結

    JSP全名為Java Server Pages,中文名叫java伺服器頁面。 JSP中一共預先定義了9個這樣的物件,分別為:request、response、session、application、out、pagecontext、config、page、exc

    (灰常重要)jsp大內物件整理總結EL表示式內物件

    轉自:https://blog.csdn.net/haha_sir/article/details/80350374https://www.cnblogs.com/sharpel/p/5870114.html一、什麼是內建物件1、我的理解是: jsp內建物件,不需要new來建

    JSP大內物件作用用法總結?

    JSP中一共預先定義了9個這樣的物件,分別為:request、response、session、application、out、pagecontext、config、page、exception 1、request物件javax.servlet.http.HttpServ

    jsp內置對象作用的個人理解

    服務 應對 有效 bsp 一個用戶 返回 out ica page jsp中九大內置對象和四個作用域:(application,應用程序對象session,會話對象request,請求對象response,響應對象page,當前頁面對象pageContext,頁面上下文對象

    5分鐘學會JSP大內物件

                                              &nb

    jsp大內物件 ,三大指令,四大作用,七大動作

    九大內建物件:   application:應用程式物件 對整個web工程都有效 request:對當前請求的封裝 pageConfig:只對當前頁面有效,裡面封裝了基本request和session的物件 response:返回服務端資訊給客戶 page:當前頁面物件 session

    JSP大內物件,七大動作,三大指令

    JSP之九大內建物件 隱藏物件入門探索 Servlet 和JSP中輸出資料都需要使用out物件。Servlet 中的out物件是通過getWriter()

    索引與主鍵。jsp大內物件

    索引和主鍵的區別 主鍵是表中的一個或多個欄位,她的值用於唯一的標識表中的某一條記錄; 使用索引可快速訪問資料表中的特性資訊。索引是對資料表中的一列或多列的值進行排序的一種結構,只有當經常查詢索引列中的資料時,才需要在表上建立索引。 索引佔用磁碟空間,