欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

學(xué)習(xí)Java九大內(nèi)置對象

 更新時間:2016年05月07日 20:16:16   作者:IKNOWNU  
學(xué)習(xí)Java九大內(nèi)置對象,從現(xiàn)在開始,希望大家可以通過這篇文章可以真正的理解Java九大內(nèi)置對象,感興趣的朋友可以參考一下

本文實(shí)例為大家介紹了Java九大內(nèi)置對象,供大家參考,具體內(nèi)容如下
1、Request對象
該對象封裝了用戶提交的信息,通過調(diào)用該對象相應(yīng)的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交的信息。
當(dāng)Request對象獲取客戶提交的漢字字符時,會出現(xiàn)亂碼問題,必須進(jìn)行特殊處理。首先,將獲取的
字符串用ISO-8859-1進(jìn)行編碼,并將編碼存發(fā)島一個字節(jié)數(shù)組中,然后再將這個數(shù)組轉(zhuǎn)化為字符串對象
即可。如下:

String textContent=request.getParameter("boy");
byte b[]=textContent.getBytes("ISO-8859-1");
textContent=new String(b);

Request常用的方法:

1.01 getParameter(String strTextName) 獲取表單提交的信息。 
String strName=request.getParameter("name");
  1.02 getProtocol() 獲取客戶使用的協(xié)議。
String strProtocol=request.getProtocol();
 1.03 getServletPath() 獲取客戶提交信息的頁面。
String strServlet=request.getServletPath();
 1.04 getMethod() 獲取客戶提交信息的方式,get|post。
String strMethod = request.getMethod();
 1.05 getHeade() 獲取HTTP頭文件中的accept、accept-encoding和Host的值。
String strHeader = request.getHeader("accept");
 1.06 getRermoteAddr() 獲取客戶的IP地址。
String strIP = request.getRemoteAddr();
 1.07 getRemoteHost() 獲取客戶機(jī)的名稱。
String clientName = request.getRemoteHost();
 1.08 getServerName() 獲取服務(wù)器名稱。
String serverName = request.getServerName();
 1.09 getServerPort() 獲取服務(wù)器的端口號。
int serverPort = request.getServerPort();
 1.10 getParameterNames() 獲取客戶端提交的所有參數(shù)的名字。
Enumeration enum = request.getParameterNames();
while(enum.hasMoreElements()){
 String s=(String)enum.nextElement();
  out.println(s);
}

2、Response對象
對客戶的請求做出動態(tài)的響應(yīng),向客戶端發(fā)送數(shù)據(jù)。
2.1 動態(tài)響應(yīng)contentType屬性
當(dāng)一個用戶訪問一個JSP頁面時,如果該頁面用page指令設(shè)置頁面的contentType屬性時text/html,那么JSP引擎將按照這個屬性值做出反應(yīng)。如果要動態(tài)改變這換個屬性值來響應(yīng)客戶,就需要使用Response對象的setContentType(String s)方法來改變contentType的屬性值。
格式:response.setContentType(String s);
參數(shù)s可取text/html,application/x-msexcel,application/msword等。
2.2 Response重定向
在某些情況下,當(dāng)響應(yīng)客戶時,需要將客戶重新引導(dǎo)至另一個頁面,可以使用Response的sendRedirect(URL)方法實(shí)現(xiàn)客戶的重定向。例如:
response.sendRedirect(“index.jsp”);

3、Session對象
(1)什么是Session對象
Session對象是一個JSP內(nèi)置對象,它在第一個JSP頁面被裝載時自動創(chuàng)建,完成會話期管理。從一個客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個服務(wù)器結(jié)束,被稱為一個會話。當(dāng)一個客戶訪問一個服務(wù)器時,可能會在這個服務(wù)器的幾個頁面之間切換,服務(wù)器應(yīng)當(dāng)通過某種辦法知道這是一個客戶,就需要Session對象。
(2)Session對象的ID
當(dāng)一個客戶首次訪問服務(wù)器上的一個JSP頁面時,JSP引擎產(chǎn)生一個Session對象,同時分配一個String類型的ID號,JSP引擎同時將這換個ID號發(fā)送到客戶端,存放在Cookie中,這樣Session對象,直到客戶關(guān)閉瀏覽器后,服務(wù)器端該客戶的Session對象才取消,并且和客戶的會話對應(yīng)關(guān)系消失。當(dāng)客戶重新打開瀏覽器再連接到該服務(wù)器時,服務(wù)器為該客戶再創(chuàng)建一個新的Session對象。
(3)Session對象的常用方法
● public String getId():獲取Session對象編號。
● public void setAttribute(String key,Object obj):將參數(shù)Object指定的對象obj添加到Session對象中,并為添加的對象指定一個索引關(guān)鍵字。
● public Object getAttribute(String key):獲取Session對象中含有關(guān)鍵字的對象。
● public Boolean isNew():判斷是否是一個新的客戶。

4、Application對象
(1)什么時Application對象

服務(wù)器啟動后就產(chǎn)生了這個Application對象,當(dāng)客戶再所訪問的網(wǎng)站的各個頁面之間瀏覽時,這個Application對象都是同一個,直到服務(wù)器關(guān)閉。但是與Session對象不同的時,所有客戶的Application對象都是同一個,即所有客戶共享這個內(nèi)置的Application對象。
(2)Application對象的常用方法
● setAttribute(String key,Object obj):將參數(shù)Object指定的對象obj添加到Application對象中,并為添加的對象指定一個索引關(guān)鍵字。
● getAttribute(String key):獲取Application對象中含有關(guān)鍵字的對象。

5、Out對象
Out對象時一個輸出流,用來向客戶端輸出數(shù)據(jù)。Out對象用于各種數(shù)據(jù)的輸出。其常用方法如下。
● out.print():輸出各種類型數(shù)據(jù)。
● out.newLine():輸出一個換行符。
● out.close():關(guān)閉流。

6、Cookie對象
(1)什么是Cookie
Cookie是Web服務(wù)器保存在用戶硬盤上的一段文本。Cookie允許一個Web站點(diǎn)在用戶電腦上保存信息并且隨后再取回它。
舉例來說,一個Web站點(diǎn)可能會為每一個訪問者產(chǎn)生一個唯一的ID,然后以Cookie文件的形式保存在每個用戶的機(jī)器上。
如果用戶使用IE瀏覽器訪問Web,用戶就會看到所有保存在自己硬盤上的Cookie。它們最常存放的地方是:C:\Windows\Cookies。Cookie是以“關(guān)鍵字key=值value”的格式來保存記錄的。
(2)創(chuàng)建一個Cookie對象
調(diào)用Cookie對象的構(gòu)造函數(shù)就可以創(chuàng)建Cookie對象。Cookie對象的構(gòu)造函數(shù)有兩個字符串參數(shù):Cookie名字和Cookie值。
例如:Cookie c = new Cookie(“username”,”john”);
(3)將Cookie對象傳送到客戶端
在JSP中,如果要將封裝好的Cookie對象傳送到客戶端,可使用Response對象的addCookie()方法。
例如:response.addCookie(c)。
(4)讀取保存到客戶端的Cookie
使用Request對象的getCookie()方法,執(zhí)行時將所有客戶端傳來的Cookie對象以數(shù)組的形式排列,如果要取出符合需要的Cookie對象,就需要循環(huán)比較數(shù)組內(nèi)每個對象的關(guān)鍵字。
例如:

Cookie[] c = request.getCookies(); 
if(c != null) 
for(int i = 0;i < c.length;i++){ 
if(“username”.equals(c.getName())) 
out.println(c.getValue()); 
} 

(5)設(shè)置Cookie對象的有效時間
調(diào)用Cookie對象的setMaxAge()方法便可以設(shè)置Cookie對象的有效時間,
例如:Cookie c = new Cookie(“username”,”john”);
c.setMaxAge(3600);
(6)Cookie應(yīng)用
Cookie對象的典型應(yīng)用時用來統(tǒng)計(jì)網(wǎng)站的訪問人數(shù)。由于代理服務(wù)器、緩存等的使用,唯一能幫助網(wǎng)站精確統(tǒng)計(jì)來訪人數(shù)的方法就是為每個訪問者建立一個唯一ID。使用Cookie,網(wǎng)站可以完成一下工作。
● 測定多少人訪問過。
● 測定訪問者有多少是新用戶(即第一次來訪),多少是老用戶。
● 測定一個用戶多久訪問一次網(wǎng)站
當(dāng)一個用戶第一次訪問時,網(wǎng)站在數(shù)據(jù)庫中建立一個新的ID,并把ID通過Cookie傳送給用戶。用戶再次來訪時,網(wǎng)站把該用戶ID對應(yīng)的計(jì)數(shù)器加1,得到用戶的來訪次數(shù)。

7、Config對象【不常用】
配置對象
頁面對象。
config內(nèi)置對象是ServletConfig類的一個實(shí)例,用于JSP引擎在Servlet初始化時,通過config向它(Servlet)傳遞信息。這種信息可以是屬性名/值匹配的參數(shù),也可以是通過ServletContext對象傳遞的服務(wù)器的有關(guān)信息。一般在JSP開發(fā)中行少用到config內(nèi)置對象,只有在編寫Servlet時若需要重載Servlet的init()方法時才會用到。

config對象常用方法

    getServletContext():返回 一個含有服務(wù)器相關(guān)信息的ServletContext對象。
    getIntParameter(String name):返回初始化參數(shù)的值。
    getIntParameterNames():返回包含了Servlet初始化所需要的所有參數(shù),返回類型是枚舉型。

PageContext對象 【不常用】

pageContext內(nèi)置對象是一個比較特殊的對象,它相當(dāng)于頁面中所有其他對象功能的最大集成者,即使用它可以訪問到本頁面中所有其他的對象,例如前面已經(jīng)描述的request、response、out和page對象等。由于在JSP中request和response等對象本來就可以通過直接調(diào)用方法使用,所以pageContext對象在實(shí)際JSP開發(fā)中很少使用到。

pageContext對象常用方法

 getRequest():返回當(dāng)前頁面中的request對象。
   getResponse():返回當(dāng)前頁面中的response對象。
   getSession():返回當(dāng)前頁面中的session對象。
   getServletContext():返回當(dāng)前頁面中的application對象。
   getPage():返回當(dāng)前頁面中的page對象。
   getOut():返回當(dāng)前頁面中的out對象。
   getException():返回當(dāng)前頁面中的exception對象。
   getServletConfig():返回當(dāng)前頁面中的config對象。

   setAttribute(String name):給指定的屬性名設(shè)置屬性值。
   getAttribute(String naem):根據(jù)屬性名找到相應(yīng)的屬性值。
   setAttribute(String name, Object obj, int scope):在給定的范圍內(nèi)設(shè)置相應(yīng)的屬性值。
   getAttribute(String name, int scope):在給的范圍內(nèi)獲取相應(yīng)的屬性值。
   findAttribute(String name):尋找一個屬性并返回,如果查找不到則返回null。
   removeAttribute(String name):通過屬性名刪除掉某個屬性。
   removeAttribute(String name, int scope):在指定的某個范圍里刪除某個屬性。
   getAttributeScope(String name scope):返回某屬性的作用域。
   getAttributeNamesInScope(int scope):返回指定范圍內(nèi)的所有屬性名的枚舉。

   release():釋放pageContext占據(jù)的所有資料。
   forward(String relativeURLpath):使用當(dāng)前頁面重導(dǎo)到另一個頁面。
   include(String relativeURLpath):使用當(dāng)前位置包含的另一個頁面。


8、Page對象【不常用】

page對象有點(diǎn)類似于Java編程中的this指針,就是指當(dāng)前JSP頁面本身。page是java.lang.Object類的對象。page對象在實(shí)際開發(fā)過程中并不經(jīng)常使用。
page對象常用方法
getClass():返回當(dāng)時Object的類。
hashCode():返回此時Object的哈希代碼。
toString():將此時的Object類轉(zhuǎn)換成字符串。
equals(Object ob):比較此對象是否與指定的對象相等。
copy(Object ob):將此對象復(fù)制到指定的對象中。
clone():對此對象進(jìn)行克隆。

9、Exception對象

在處理異常的網(wǎng)頁中可以直接訪問exception隱式對象。
頁面上下文對象
Jsp引入了一個名位PageContext的類,通過它可以訪問頁面的許多屬性。
PageContext類擁有getRequest,getResponse,getOut,getSession等方法。
pageContext變量存儲與當(dāng)前頁面相關(guān)聯(lián)的PageContext對象的值。
補(bǔ):
如果方法需要訪問多個與頁面相關(guān)的對象,
傳遞pageContext要比傳遞request,response,out等的獨(dú)立引用更容易。(雖然兩種方式都能達(dá)到同樣的目的)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助

相關(guān)文章

  • SpringBoot如何配置Controller實(shí)現(xiàn)Web請求處理

    SpringBoot如何配置Controller實(shí)現(xiàn)Web請求處理

    這篇文章主要介紹了SpringBoot如何配置Controller實(shí)現(xiàn)Web請求處理,文中通過圖解示例介紹的很詳細(xì),具有有一定的參考價值,需要的小伙伴可以參考一下
    2023-05-05
  • Java集合之Comparable和Comparator接口詳解

    Java集合之Comparable和Comparator接口詳解

    Java提供了Comparable接口與Comparator接口,它們?yōu)閿?shù)組或集合中的元素提供了排序邏輯,實(shí)現(xiàn)此接口的對象數(shù)組或集合可以通過Arrays.sort或Collections.sort進(jìn)行自動排序。本文將通過示例講講它們的使用,需要的可以參考一下
    2022-12-12
  • Java中@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題分析

    Java中@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題分析

    這篇文章主要介紹了@ConfigurationProperties實(shí)現(xiàn)自定義配置綁定問題,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • jstl EL表達(dá)式遍歷Map的方法

    jstl EL表達(dá)式遍歷Map的方法

    這篇文章主要介紹了jstl EL表達(dá)式遍歷Map的方法的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • java Object轉(zhuǎn)byte與byte轉(zhuǎn)Object方式

    java Object轉(zhuǎn)byte與byte轉(zhuǎn)Object方式

    這篇文章主要介紹了java Object轉(zhuǎn)byte與byte轉(zhuǎn)Object方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java中的字符型文件流FileReader和FileWriter詳細(xì)解讀

    Java中的字符型文件流FileReader和FileWriter詳細(xì)解讀

    這篇文章主要介紹了Java中的字符型文件流FileReader和FileWriter詳細(xì)解讀,與字節(jié)型文件流不同,字節(jié)型文件流讀取和寫入的都是一個又一個的字節(jié),而字符型文件流操作的單位是一個又一個的字符,字符型流認(rèn)為一個字母是一個字符,而一個漢字也是一個字符,需要的朋友可以參考下
    2023-10-10
  • Java的JSTL標(biāo)簽庫詳解

    Java的JSTL標(biāo)簽庫詳解

    JSTL包含用于編寫和開發(fā)JSP頁面的一組標(biāo)準(zhǔn)標(biāo)簽,它可以為用戶提供一個無腳本環(huán)境。在此環(huán)境中,用戶可以使用標(biāo)簽編寫代碼,而無須使用Java腳本
    2023-05-05
  • Java原子變量類常見問題解決

    Java原子變量類常見問題解決

    這篇文章主要介紹了Java原子變量類常見問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java JDK11的下載與安裝教程

    Java JDK11的下載與安裝教程

    這篇文章主要介紹了Java JDK11的下載與安裝,本文以win10為例給大家講解win10系統(tǒng)下載安裝jdk11的教程,需要的朋友可以參考下
    2023-05-05
  • 使用@CacheEvict清除指定下所有緩存

    使用@CacheEvict清除指定下所有緩存

    這篇文章主要介紹了使用@CacheEvict清除指定下所有緩存,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12

最新評論