[Java學習筆記]JSP九大內置對象

JSP一共有九個內置對象,分別爲:request、response、session、application、out、pagecontext、config、page、exception
在這裏插入圖片描述

1、request 對象(javax.servlet.http.HttpServletRequest)

request 代表客戶端的請求信息,主要用於獲取客戶端的參數和流。
主要方法:
(1) String getMethod() //獲得提交方式
(2) String getRequestURI() //獲得請求的URL地址
(3) String getProtocol() // 得到協議名稱
(4) String getServletPath() //獲得客戶端請求服務器文件的路徑
(5) String getQueryString() //獲得URL的查詢部分,post方法獲得不到信息
(6) String getServerName() //得到服務器的名稱
(7) String getServerPort() //獲得服務器口號
(8) String getRemoteAddr() //得到客戶端的IP地址
(9) String fetParameter(String name) //獲得客戶端傳給服務器的name參數的值

2、response 對象( javax.servlet.http.HttpServletResponse)

response 對象和request是一對相應的內置對象,代表對客戶端的響應
主要方法:

  • (1) response.sendRedirect(目標頁面路徑); //重定向
  • (2) response.setHeader(String,String); //設置HTTP頭

3、session 對象 ( javax.servlet.http.HttpSession )

session 對象是由服務器自動創建的與請求相關的對象,服務器爲每個用戶都生成一個session對象,用於保存該用戶的信息,跟蹤用戶的操作狀態。session內部使用Map來保存數據,即key-value對
主要方法:

  • (1) session.setAttribute(String,Object); //給Object命名String,加入session
  • (2) session.getAttribute(String); //取名爲String的session的值
  • (3) session.removeAttribute(String); //將名爲String的內容從session中移除

4、application 對象 (javax.servlet.ServletContext)

application 對象,可將信息保存在服務器中直到服務器關閉,否則application對象中保存的信息會整個應用中都有。服務器啓動後就產生了這個Application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到服務器關閉。但是與Session對象不同的是,所有客戶的Application對象都時同一個,即所有客戶共享這個內置的Application對象。

  • setAttribute(String key,Object obj):將參數Object指定的對象obj添加到Application對象中,併爲添加的對象指定一個索引關鍵字。
  • getAttribute(String key):獲取Application對象中含有關鍵字的對象。

5、out 對象(javax.servlet.jsp.jspWriter )

out 對象用於Web瀏覽器內輸出信息,負責管理對客戶端的輸出。並且管理應用服務器上的輸出緩衝區。在使用out對象輸出數據時,可以對數據緩衝區進行操作,及時清理緩衝區中的殘留數據。
其常用方法如下。

  • out.print():輸出各種類型數據。
  • out.newLine():輸出一個換行符。
  • out.close():關閉流。

6、pageContext 對象(javax.servlet.jsp.PageContext)

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

7、config 對象 (javax.servlet.ServletConfig)

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

8、page 對象

page 對象代表JSP本身,只有在JSP頁面內纔是合法的。 它是java.lang.Object類的實例化對象。page隱含對象本質上包含當前 Servlet接口引用的變量,類似於Java編程中的 this 指針。page對象是當前頁面轉換後的Servlet類的實例。從轉換後的Servlet類的代碼中,可以看到這種關係:Object page = this ;在JSP頁面中,很少使用page對象。

9、exception 對象 (java.lang.Throwable )

exception 對象的作用是顯示異常信息,只有在包含 isErrorPage=”true” 的頁面中才可以被使用,在一般的JSP頁面中使用該對象將無法編譯JSP文件。excepation對象和Java的所有對象一樣,都具有系統提供的繼承結構。

對象的getAttribute作用範圍(由小到大)
pageContext:作用整個頁面,跳轉後,則失效
request:作用當次請求,轉發有效,重定向無效,刷新則無效
session:作用當次登錄
application:作用整個頁面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章