1. 程式人生 > >JSP九大內建物件的作用和用法總結

JSP九大內建物件的作用和用法總結

JSP全名為Java Server Pages,中文名叫java伺服器頁面。

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

1、request物件javax.servlet.http.HttpServletRequest
request物件代表了客戶端的請求資訊,主要用於接受通過HTTP協議傳送到伺服器的資料。(包括頭資訊、系統資訊、請求方式以及請求引數等)。request對 象的作用域為一次請求。

當Request物件獲取客戶提交的漢字字元時,會出現亂碼問題,必須進行特殊處理。首先,將獲取的字串用ISO-8859-1進行編碼,並將編碼存發島一個位元組陣列中,然後再將這個陣列轉化為字串物件如下

Request常用的方法:getParameter(String strTextName) 獲取表單提交的資訊.

getProtocol() 獲取客戶使用的協議。

String strProtocol=request.getProtocol();

getServletPath() 獲取客戶提交資訊的頁面。String strServlet=request.getServletPath();

getMethod() 獲取客戶提交資訊的方式 String strMethod=request.getMethod();

getHeader() 獲取HTTP標頭檔案中的accept,accept-encoding和Host的值,String strHeader=request.getHeader();

getRermoteAddr() 獲取客戶的IP地址。String strIP=request.getRemoteAddr();

getRemoteHost() 獲取客戶機的名稱。String clientName=request.getRemoteHost();
getServerName() 獲取伺服器名稱。 String serverName=request.getServerName();
getServerPort() 獲取伺服器的埠號。 int serverPort=request.getServerPort();
getParameterNames() 獲取客戶端提交的所有引數的名字。

Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements())
{
    Strings(String)enum.nextElement();
    out.println(s);
}

2、response物件 javax.servlet.http.HttpServletResponse
response 代表的是對客戶端的響應,主要是將JSP容器處理過的物件傳回到客戶端。response物件也具有作用域,它只在JSP頁面內有效。

具有動態響應contentType屬性,當一個使用者訪問一個JSP頁面時,如果該頁面用page指令設定頁面的contentType屬性是text/html,那麼JSP引擎將按照這個屬性值做出反應。

如果要動態改變這換個屬性值來響應客戶,就需要使用Response物件的setContentType(String s)方法來改變contentType的屬性值。

response.setContentType(String s); 引數s可取text/html,application/x-msexcel,application/msword等。

在某些情況下,當響應客戶時,需要將客戶重新引導至另一個頁面,可以使用Response的sendRedirect(URL)方法實現客戶的重定向。

例如response.sendRedirect(index.jsp);

3、session物件 javax.servlet.http.HttpSession
Session物件是一個JSP內建物件,它在第一個JSP頁面被裝載時自動建立,完成會話期管理。從一個客戶開啟瀏覽器並連線到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間切換,伺服器應當通過某種辦法知道這是一個客戶,就需要Session物件。
當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個Session物件,同時分配一個String型別的ID號,JSP引擎同時將這換個ID號傳送到客戶端,存放在Cookie中,這樣Session物件,直到客戶關閉瀏覽器後,伺服器端該客戶的Session物件才取消,並且和客戶的會話對應關係消失。當客戶重新開啟瀏覽器再連線到該伺服器時,伺服器為該客戶再建立一個新的Session物件。
session 物件是由伺服器自動建立的與使用者請求相關的物件。伺服器為每個使用者都生成一個session物件,用於儲存該使用者的資訊,跟蹤使用者的操作狀態。

session物件內部使用Map類來儲存資料,因此儲存資料的格式為 “Key/value”。 session物件的value可以使複雜的物件型別,而不僅僅侷限於字串型別。

public String getId():獲取Session物件編號。

public void setAttribute(String key,Object obj):將引數Object指定的物件obj新增到Session物件中,併為新增的物件指定一個索引關鍵字。

public Object getAttribute(String key):獲取Session物件中含有關鍵字的物件。

public Boolean isNew():判斷是否是一個新的客戶。

4、application物件javax.servlet.ServletContext
application 物件可將資訊儲存在伺服器中,直到伺服器關閉,否則application物件中儲存的資訊會在整個應用中都有效。與session物件相比,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物件時一個輸出流,用來向客戶端輸出資料。Out物件用於各種資料的輸出。其常用方法如下。

out.print():輸出各種型別資料。

out.newLine():輸出一個換行符。

out.close():關閉流。

6、pageContext 物件javax.servlet.jsp.PageContext
pageContext 物件的作用是取得任何範圍的引數,通過它可以獲取 JSP頁面的out、request、reponse、session、application 等物件。

pageContext物件的建立和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext物件。

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

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

8 cookie 物件
Cookie是Web伺服器儲存在使用者硬碟上的一段文字。Cookie允許一個Web站點在使用者電腦上儲存資訊並且隨後再取回它。舉例來說,一個Web站點可能會為每一個訪問者產生一個唯一的ID,然後以Cookie檔案的形式儲存在每個使用者的機器上。

建立一個Cookie物件 呼叫Cookie物件的建構函式就可以建立Cookie物件。Cookie物件的建構函式有兩個字串引數:Cookie名字和Cookie值。

例如:Cookie c = new Cookie(username”,john”); 將Cookie物件傳送到客戶端。

JSP中,如果要將封裝好的Cookie物件傳送到客戶端,可使用Response物件的addCookie()方法。

例如:response.addCookie(c),讀取儲存到客戶端的Cookie。

使用Request物件的getCookie()方法,執行時將所有客戶端傳來的Cookie物件以陣列的形式排列,如果要取出符合需要的Cookie物件,就需要迴圈比較陣列內每個物件的關鍵字。設定Cookie物件的有效時間,用Cookie物件的setMaxAge()方法便可以設定Cookie物件的有效時間,

例如:Cookie c = newCookie(username”,”john”);c.setMaxAge(3600);

Cookie物件的典型應用時用來統計網站的訪問人數。由於代理伺服器、快取等的使用,唯一能幫助網站精確統計來訪人數的方法就是為每個訪問者建立一個唯一ID。使用Cookie,網站可以完成以下工作:

測定多少人訪問過。測定訪問者有多少是新使用者(即第一次來訪),多少是老使用者。

測定一個使用者多久訪問一次網站。當一個使用者第一次訪問時,網站在資料庫中建立一個新的ID,並把ID通過Cookie傳送給使用者。使用者再次來訪時,網站把該使用者ID對應的計數器加1,得到使用者的來訪次數。

9、exception 物件java.lang.Throwable
exception 物件的作用是顯示異常資訊,只有在包含 isErrorPage=”true” 的頁面中才可以被使用,在一般的JSP頁面中使用該物件將無法編譯JSP檔案。

excepation物件和Java的所有物件一樣,都具有系統提供的繼承 結構。

exception 物件幾乎定義了所有異常情況。在Java程式中,可以使用try/catch關鍵字來處理異常情況; 如果在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 物件,並把 exception 物件傳送到在page指令中設定的錯誤頁面中,然後在錯誤頁面中處理相應的 exception 物件。

相關推薦

JSP大內物件詳解(總結+專案原始碼)

jsp內建物件總結: Jsp內建物件 功能 主要方法 out 向客戶端輸出資料 print() println() flush() clear() isAutoFlus

JSP大內物件作用用法總結

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

JSP大內物件作用用法總結

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

jsp 大內物件作用詳解

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

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

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

JSP大內物件四個作用

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

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

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

JSP(二):JSP大內物件、四個作用物件

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

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

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

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大內物件及常用方法詳細方法

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

【Java】-JSP大內物件作用分別是什麼? 分別有什麼方法?

一、pageContext表示頁容器     pageContext物件的作用是取得任何範圍的引數,通過pageContext物件可以獲取JSP頁面的out、request、response、session、application等物件,或者可以重新定向客戶的請求等,較少使

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

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

JSP大內物件、四大作用域以及session的生命週期

JSP共有以下9種基本內建元件(可與ASP的6種內部元件相對應):  1.request物件(作用域)    客戶端的請求資訊被封裝在request物件中,通過它才能瞭解到客戶的需求,然後做出響應。它是HttpServletRequest類的例項。    方 法 說

jsp大內物件與四大作用域,EL表示式

jsp九大隱式物件: page作用域: 1.pageContext 2.response 3.config 4.out 5.exception request作用域 session作用域

jsp大內物件,四大作用

package com.atguigu.demo; public class Demo { /** Jsp

5分鐘學會JSP大內物件

                                          &nb

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

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

索引與主鍵。jsp大內物件

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