【Java基礎】——JSP九個內建對象

來源:互聯網
上載者:User

標籤:儲存   encoding   one   16px   資訊   使用者   通過   java基礎   內建對象   

何為JSP?

   要解釋JSP的九個內建對象,必須先要搞懂何為JSP?JSP全稱Java Service Pages中文:Java伺服器頁面。其實看到JSP學過.NET都可能對想到ASP,沒錯,兩者確實很像。ASP是在HTML頁面中加入C#用於顯示層,像後台傳遞資料之類。而JSP是在HTML頁面注入Java語言,便於向後端傳遞資訊。JSP從本質上來分析就是一個簡化版的Servlet。而jsp和Servlet的區別就是,jsp需要Servlet容器先編譯成Servlet類,然後才能運行它。

在Tomcat中發布項目後,可以在Tomcat的工作目錄中找到該JSP檔案翻譯後的xxx_jsp.java檔案以及xxx_jsp.class檔案,開啟xxx_jsp.java上面預設都是初識化jsp的九個內建對象,而且這九個內建對象都是Servlet API,編譯成Servlet使用這九個對象操作客戶與伺服器之間的資訊傳遞,而JSP檔案中的所以在翻譯前也就是在編寫JSP檔案時就已經聲明了JSP中的這九個對象,進行了預設初識化,並且沒有展示。

九個內建對象

1、request:javax.servlet.http.HttpServletRequest的執行個體,代表了用戶端的請求資訊,主要用於接受通過Http協議傳送到伺服器的資料。(包括頭資訊,系統資訊,請求方式以及請求參數),擷取用戶端請求參數必須使用該對象。

常用的方法

傳回值

方法

說明

String

getParameter(String name)

返回請求中的參數值

String[]

getParameterValues(String name)

返回請求參數中集合屬性的值

Void

setAttribute(String key , Object value)

設定屬性的值

Object

getAttribute(String name)

返回指定屬性的屬性值

String

getCharacterEncoding()

返回字元編碼方式

String

getContentType()

返回請求頁面的MIME類型

2、response:javax.serlvet.http.HttpServletResponse的執行個體,代表格服務器對用戶端的響應,主要是將Servlet容器處理過的對象傳回給用戶端。通常很少使用該對象直接響應,而是使用out對象。一般response對象常用於重新導向。

常用的方法

傳回值

方法

說明

String

getCharacterEncoding()

返迴響應應用哪種字元編碼

Void

setContentType(String name)

設定響應的MIME類型

Void

addCookies(Cookie cookie)

向用戶端儲存Cookies

Void

sendRedirect(String URL)

頁面重新導向

ServletOutputStream

getOutputStream()

返迴響應的一個二進位輸出資料流

3、Out:javax.serlvet.jsp.JspWriter的執行個體,代表JSP頁面的輸出資料流,用於輸出內容,形成HTML頁面。

4、Session:javax.serlvet.http.HttpSession的執行個體,該對象代表一次會話,是由伺服器自動建立的與使用者請求相關的對象。伺服器為每個使用者都產生一個session對象,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。session對象內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session對象的value可以使複雜的物件類型,而不僅僅局限於字串類型。

常用方法:

傳回值

方法

說明

Void

setAttribute(String key , Object value)

設定屬性的值

Object

getAttribute(String name)

返回指定屬性的屬性值

5、application:javax.servlet.ServletContext的執行個體,該執行個體代表JSP所屬的web應用本事,可用於JSP頁面,或者在Servlet之間交換資訊。application 對象可將資訊儲存在伺服器中,直到伺服器關閉,否則application對象中儲存的資訊會在整個應用中都有效。與session對象相比,application對象生命週期更長,類似於系統的“全域變數”。

常用方法:

傳回值

方法

說明

Void

setAttribute(String key , Object value)

設定屬性的值

Object

getAttribute(String name)

返回指定屬性的屬性值

RequestDispatcher

getRequestDispatcher(String uripath)

返回指定資源的RequestDispatcher對象

String

getInitParameter(String paramName)

用來調用初始化在web.xml中存放的參量

ServletContext

getContext(String  uripath)

返回指定WebApplication的application對象

6、pageContext:javax.servlet.jsp.PageContext的執行個體。代表該JSP頁面上下文,使用該對象可以訪問頁面中的共用資料,也就是取得任何範圍的參數,通過它可以擷取 JSP頁面的out、request、reponse、session、application 等對象。pageContext對象的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對象

常用方法:

傳回值

方法

說明

ServletConfig

getServletConfig()

返回當前頁的ServletConfig對象(config)

ServletContext

getServletContext()

返回當前頁的ServletContext對象(application)

7、config:javax.servlet.ServletConfig的執行個體,對象的主要作用是取得伺服器的配置資訊。通過 pageConext對象的 getServletConfig() 方法可以擷取一個config對象。當一個Servlet 初始化時,容器把某些資訊通過 config對象傳遞給這個 Servlet。開發人員可以在web.xml 檔案中為應用程式環境中的Servlet程式和JSP頁面提供初始化參數。

8、exception:java.lang.Throwable的執行個體,代表其他頁面中的異常和錯誤,只有當頁面是錯誤處理頁面,即編譯指令page的isErrorPage屬性為true時,對象才能使用。

常用方法:

傳回值

方法

說明

String

getMessage()

返回描述異常的訊息

Void

printStackTrace()

顯示異常及其棧軌跡

9、page:代表頁面本身,也就是Servlet中的this,其類型是產生Servlet類,能用page的地方就可以用this。

【總結】

    上述就是JSP的九個內建對象,從自己的項目來說經常用到,區分每個對象的作用,對每個對象的方法做的一定的認知,不足的地方慢慢查漏補缺!

    給自己個信念,堅信在學習這件事上,付出和收穫一定成正比,為自己加油!

【Java基礎】——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.