中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員Java學習路線JSP對象

發布時間:2020-08-10 07:06:29 來源:網絡 閱讀:248 作者:wx5d42865f47214 欄目:編程語言

  .隱含對象

  JSP隱式對象是JSP容器為每個頁面提供的Java對象,開發者可以直接使用它們而不用顯式聲明。JSP隱式對象也被稱為預定義變量。
JSP支持九個自動定義的變量,被稱為隱含對象。這九個隱含對象的簡介見下表:

  好程序員Java學習路線JSP對象

  1.對象

  request對象是javax.servlet.http.HttpServletRequest 類的實例。每當客戶端請求一個JSP頁面時,JSP引擎就會制造一個新的request對象來代表這個請求。
request對象提供了一系列方法來獲取HTTP頭信息,cookies,HTTP方法等等。

  request 對象是 javax.servlet.httpServletRequest類型的對象。 該對象代表了客戶端的請求信息,主要用于接受通過HTTP協議傳送到服務器的數據。(包括頭信息、系統信息、請求方式以及請求參數等)。request對象的作用域為一次請求。

  2.對象

  response對象是javax.servlet.http.HttpServletResponse類的實例。當服務器創建request對象時會同時創建用于響應這個客戶端的response對象。
response對象也定義了處理HTTP頭模塊的接口。通過這個對象,開發者們可以添加新的cookies,時間戳,HTTP狀態碼等等。

  response 代表的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。response對象也具有作用域,它只在JSP頁面內有效。

  3.對象

  out對象是 javax.servlet.jsp.JspWriter 類的實例,用來在response對象中寫入內容。
最初的JspWriter類對象根據頁面是否有緩存來進行不同的實例化操作。可以在page指令中使用buffered='false'屬性來輕松關閉緩存。
JspWriter類包含了大部分java.io.PrintWriter類中的方法。不過,JspWriter新增了一些專為處理緩存而設計的方法。還有就是,JspWriter類會拋出IOExceptions異常,而PrintWriter不會。

  out 對象用于在Web瀏覽器內輸出信息,并且管理應用服務器上的輸出緩沖區。在使用 out 對象輸出數據時,可以對數據緩沖區進行操作,及時清除緩沖區中的殘余數據,為其他的輸出讓出緩沖空間。待數據輸出完畢后,要及時關閉輸出流。

  下表列出了我們將會用來輸出boolean,char,int,double,String,object等類型數據的重要方法:
好程序員Java學習路線JSP對象

  4.對象

  session對象是 javax.servlet.http.HttpSession 類的實例。和Java Servlets中的session對象有一樣的行為。
session對象用來跟蹤在各個客戶端請求間的會話。

  session 對象是由服務器自動創建的與用戶請求相關的對象。服務器為每個用戶都生成一個session對象,用于保存該用戶的信息,跟蹤用戶的操作狀態。session對象內部使用Map類來保存數據,因此保存數據的格式為 “Key/value”。 session對象的value可以使復雜的對象類型,而不僅僅局限于字符串類型。

  5.對象

  application對象直接包裝了servlet的ServletContext類的對象,是javax.servlet.ServletContext 類的實例。
這個對象在JSP頁面的整個生命周期中都代表著這個JSP頁面。這個對象在JSP頁面初始化時被創建,隨著jspDestroy()方法的調用而被移除。
通過向application中添加屬性,則所有組成您web應用的JSP文件都能訪問到這些屬性。

  application 對象可將信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息會在整個應用中都有效。與session對象相比,application對象生命周期更長,類似于系統的“全局變量”。

  6.對象

  config對象是 javax.servlet.ServletConfig 類的實例,直接包裝了servlet的ServletConfig類的對象。

  config 對象的主要作用是取得服務器的配置信息。通過 pageConext對象的 getServletConfig() 方法可以獲取一個config對象。當一個Servlet 初始化時,容器把某些信息通過 config對象傳遞給這個 Servlet。 開發者可以在web.xml 文件中為應用程序環境中的Servlet程序和JSP頁面提供初始化參數。

  這個對象允許開發者訪問Servlet或者JSP引擎的初始化參數,比如文件路徑等。
以下是config對象的使用方法,不是很重要,所以不常用:

  config.getServletName();

  它返回包含在元素中的servlet名字,注意,元素在 WEB-INF\web.xml 文件中定義。

  7.對象

  pageContext對象是javax.servlet.jsp.PageContext 類的實例,用來代表整個JSP頁面。
這個對象主要用來訪問頁面信息,同時過濾掉大部分實現細節。

  這個對象存儲了request對象和response對象的引用。application對象,config對象,session對象,out對象可以通過訪問這個對象的屬性來導出。

  pageContext對象也包含了傳給JSP頁面的指令信息,包括緩存信息,ErrorPage URL,頁面scope等。

  pageContext 對象的作用是取得任何范圍的參數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對象。pageContext對象的創建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對象。

  PageContext類定義了一些字段,包括PAGE_SCOPE,REQUEST_SCOPE,SESSION_SCOPE, APPLICATION_SCOPE。它也提供了40余種方法,有一半繼承自javax.servlet.jsp.JspContext 類。
其中一個重要的方法就是removeArribute(),它可接受一個或兩個參數。比如,pageContext.removeArribute("attrName")移除四個scope中相關屬性,但是下面這種方法只移除特定scope中的相關屬性:
pageContext.removeAttribute("attrName", PAGE_SCOPE);

  表示JSP上下文,可以通過這個實例,取得request\response\session<jsp:forward>等。
(1)pageContext.forward(String);
(2)pageContext.include(String);
(3)pageContext.getServletConfig();
(4)pageContext.getServletContext();
(5)pageContext.getRequest();
(6)pageContext.geResponse();
(7)pageContext.getSession();
也就是說,只要有了pageContext對象,就能完成一切內置對象的功能;
補充:pageConext設置任意范圍的屬性(很少使用)

  使用函數:pageConext.setAttribute("name","value",int SCOPE);
1.設置page范圍
pageConext.setAttribute("name","xiazdong",PageConext.PAGE_SCOPE);
2.設置request范圍
pageConext.setAttribute("name","xiazdong",PageConext.REQUEST_SCOPE);
3.設置session范圍
pageConext.setAttribute("name","xiazdong",PageConext.SESSION_SCOPE);
4.設置application范圍
pageConext.setAttribute("name","xiazdong",PageConext.APPLICATION_SCOPE);
因此,只需要PageContext就能完成全部內置對象的操作;

  8對象

  這個對象就是頁面實例的引用。它可以被看做是整個JSP頁面的代表。
page 對象就是this對象的同義詞。

  page 對象代表JSP本身,只有在JSP頁面內才是合法的。 page隱含對象本質上包含當前 Servlet接口引用的變量,類似于Java編程中的 this 指針。

  9.對象

  exception 對象包裝了從先前頁面中拋出的異常信息。它通常被用來產生對出錯條件的適當響應。

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

  二、的4種屬性范圍

  (1)page范圍(pageContext):一頁中有效,跳轉即無效。
(2)request范圍:服務器跳轉有效,客戶端跳轉無效。
(3)session范圍:跳轉有效,新開瀏覽器無效。
(4)application范圍:所有用戶有效,重啟服務器無效。

  這四個對象有3個方法:

  (1) void setAttribute(String key,Object o); //設置屬性
(2) Object getAttribute(String key); //取得后要向下轉型。
(3) void removeAttribute(String key); //刪除屬性
注意:在getAttribute之后一定要轉型!
舉例:

  pageContext.setAttribute("name","xiazdong"); ??//只能在單個頁面中進行保存

  String name = (String)pageContext.getAttribute("name");//換了一個頁面后就無法取得

  ```注意:盡可能在滿足功能的前提下,將屬性設置的保存范圍盡可能的小。這樣能夠提高性能;

  ## 三.全局錯誤處理 ????????

  對頁出現的相同的錯誤或異常不用在每個頁面的指令頭都追加errorPage="錯誤頁面";指令,可以在xml中配置全局錯誤處理.(必須寫在xml文件的 <web-app></web-app>標簽對中)

  <error-code>404</error-code>

  <location>/404Error.jsp</location>

  //用于處理404錯誤的全局配置.所有404錯誤都會轉到404Error.jsp頁面中.

java.lang.ArithmeticException
/ArithmeticException.jsp

  //用于處理算術異常的全局配置.所有算術異常都會轉到rithmeticException.jsp頁面中.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛川县| 钟山县| 施甸县| 东宁县| 乌拉特中旗| 吉安市| 乌什县| 岐山县| 云霄县| 云林县| 金乡县| 濮阳市| 扶风县| 辽阳市| 肥城市| 改则县| 昌黎县| 益阳市| 百色市| 松潘县| 囊谦县| 崇文区| 沛县| 南召县| 罗定市| 邵阳市| 会泽县| 白水县| 梁河县| 潞西市| 岑溪市| 临安市| 高尔夫| 边坝县| 华容县| 辽宁省| 民丰县| 常山县| 咸阳市| 宁蒗| 衡东县|