更新時(shí)間:2020-01-18 10:37:35 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3109次

JSP內(nèi)置對(duì)象定義
JSP提供了由容器實(shí)現(xiàn)和管理的內(nèi)置對(duì)象,也可以稱之為隱含對(duì)象,這些內(nèi)置對(duì)象不需要通過(guò)JSP頁(yè)面編寫來(lái)實(shí)例化,在所有的JSP頁(yè)面中都可以直接使用,它們起到了簡(jiǎn)化頁(yè)面的作用,JSP的內(nèi)置對(duì)象廣泛應(yīng)用于JSP的各種操作中。
JSP九大內(nèi)置對(duì)象
由于JSP使用Java作為腳本語(yǔ)言,所以JSP將具有強(qiáng)大的對(duì)象處理能力,并且可以動(dòng)態(tài)創(chuàng)建Web頁(yè)面內(nèi)容。但Java語(yǔ)法在使用一個(gè)對(duì)象前,需要先實(shí)例化這個(gè)對(duì)象,這其實(shí)是一件比較繁瑣的事情。為了簡(jiǎn)化開發(fā),JSP提供了一些內(nèi)置對(duì)象,用來(lái)實(shí)現(xiàn)很多JSP應(yīng)用。在使用JSP內(nèi)置對(duì)象時(shí),不需要先定義這些對(duì)象,直接使用即可。
在JSP中一共預(yù)先定義了9個(gè)這樣的對(duì)象,分別為request、response、session、application、pageContext、config、page和exception。
request對(duì)象
request對(duì)象封裝了由客戶端生成的HTTP請(qǐng)求的所有細(xì)節(jié),主要包括HTTP頭信息、系統(tǒng)信息、請(qǐng)求方式和請(qǐng)求參數(shù)等。通過(guò)request對(duì)象提供的響應(yīng)方法可以處理客戶端瀏覽器提交的HTTP請(qǐng)求中的各項(xiàng)參數(shù)。
1.訪問(wèn)請(qǐng)求參數(shù)
我們知道request對(duì)象用于處理HTTP請(qǐng)求中的各項(xiàng)參數(shù)。在這些參數(shù)中,最常用的就是獲取訪問(wèn)請(qǐng)求參數(shù)。當(dāng)通過(guò)超鏈接的形式發(fā)送請(qǐng)求時(shí),就可以為該請(qǐng)求傳遞參數(shù),這可以通過(guò)在超鏈接的后面加上"?"來(lái)實(shí)現(xiàn)。
在頁(yè)面中定義超鏈接,代碼如下:
刪除
在delete.jsp頁(yè)面中,可以通過(guò)request對(duì)象的getParamater()方法獲取傳遞的參數(shù)值。代碼如下:
在使用request的getParameter()方法獲取傳遞的參數(shù)值時(shí),如果指定的參數(shù)不存在,將但會(huì)null,如果指定了參數(shù)名,但未指定參數(shù)值,將返回空的字符串("")。
2.在作用域中管理屬性
在進(jìn)行請(qǐng)求轉(zhuǎn)發(fā)時(shí),需要把一些數(shù)據(jù)傳遞到轉(zhuǎn)發(fā)后的頁(yè)面進(jìn)行處理。這時(shí),就需要使用request對(duì)象的setAttribute()方法將數(shù)據(jù)保存到request范圍內(nèi)的變量中
request對(duì)象的setAttribute()方法的語(yǔ)法格式如下:
request.setAttribute(String name,Object object)
參數(shù)說(shuō)明:
name:表示變量名,為String類型,在轉(zhuǎn)發(fā)后的頁(yè)面取數(shù)據(jù)時(shí),就是通過(guò)這個(gè)變量名獲取數(shù)據(jù)的。
object:用于指定需要在request范圍內(nèi)傳遞的數(shù)據(jù),為Object類型。
在將數(shù)據(jù)保存到request范圍內(nèi)的變量中后,可以通過(guò)request對(duì)象的getAttribute()方法獲取該變量的值,具體的語(yǔ)法格式如下:
request.getAttribute(String name)
參數(shù)說(shuō)明:
name:表示變量名,該變量名在request范圍內(nèi)有效。
3.獲取cookie
cookie的中文意思是"小甜餅",然而在互聯(lián)網(wǎng)中的意思與這就完全不同了,它和食品完全沒有關(guān)系。在互聯(lián)網(wǎng)中,cookie是小段的文本信息,在網(wǎng)絡(luò)服務(wù)器上生成,并發(fā)送給瀏覽器。通過(guò)使用cookie可以表示用戶身份,記錄用戶名和密碼,跟蹤重復(fù)用戶等。瀏覽器將cookie以key/value的形式保存到客戶機(jī)的某個(gè)指定目錄中。
通過(guò)request的getCookies()方法即可獲得所有cookie對(duì)象的集合。
4.解決中文亂碼
因?yàn)閞equest請(qǐng)求都是ISO-8859-1編碼的,而在頁(yè)面中采用的是UTF-8編碼方式,所以在使用中文參數(shù)時(shí)會(huì)出現(xiàn)亂碼的問(wèn)題,要解決此問(wèn)題,只要將獲取到的數(shù)據(jù)通過(guò)String的構(gòu)造方法使用指定的編碼類型重新構(gòu)造一個(gè)String對(duì)象,即可正確地顯示中文信息。
5.獲取客戶端信息
通過(guò)request對(duì)象可以獲取客戶端的相關(guān)信息,如HTTP報(bào)頭信息,客戶信息提交方式。客戶端主機(jī)IP地址、端口號(hào)等。在客戶端獲取用戶請(qǐng)求相關(guān)的request對(duì)象的方法如下所示:
(1)getHeader(String name):獲取HTTP協(xié)議定義的文件頭信息
(2)getHeaders(String name):返回指定名字的request Header的所有值,其結(jié)果是一個(gè)枚舉型的實(shí)例
(3)getHeadersNames():返回所有request Header的名字,其結(jié)果是一個(gè)枚舉型的實(shí)例
(4)getMethod():返獲得客戶端向服務(wù)器端發(fā)送數(shù)據(jù)的方法,如get、post
(5)getProtocol():獲得客戶端向服務(wù)器發(fā)送數(shù)據(jù)所依據(jù)的協(xié)議名稱
(6)getRequestURI():獲取發(fā)出請(qǐng)求字符串的客戶端地址,不包括請(qǐng)求參數(shù)
(7)getRequestURL():獲取發(fā)出請(qǐng)求字符串的客戶端地址
(8)getReadPath():返回當(dāng)前請(qǐng)求文件的絕對(duì)地址
(9)getRemoteAddr():返回客戶端的IP地址
(10)getRemoteHost():返回客戶端的主機(jī)名
(11)getServerName():獲取服務(wù)器的名字
(12)getServerPath():獲取客戶端所請(qǐng)求的腳本文件的文件路徑
(13)getServerPort():獲取服務(wù)器的端口號(hào)
6.顯示國(guó)際化信息
瀏覽器可以通過(guò)accept-language的HTTP報(bào)頭向Web服務(wù)器指明它所使用的本地語(yǔ)言,request對(duì)象中的getLocale()和getLocales()方法允許JSP開發(fā)人員獲取這一信息,獲取的信息屬于java.util.Local類型。java.util.Local類型的對(duì)象封裝了一個(gè)國(guó)家和國(guó)家所使用的一種語(yǔ)言,通過(guò)這一信息,JSP開發(fā)者就可以使用語(yǔ)言所特有的信息做響應(yīng)。
response對(duì)象
response對(duì)象用于響應(yīng)客戶請(qǐng)求,向客戶端輸出信息,它封裝了JSP產(chǎn)生的響應(yīng),并發(fā)送到客戶端已響應(yīng)客戶端的請(qǐng)求,請(qǐng)求的數(shù)據(jù)可以是各種數(shù)據(jù)類型,甚至是文件。response對(duì)象在JSP頁(yè)面內(nèi)有效。
1.重定向網(wǎng)頁(yè)
使用response對(duì)象提供的sendRedirect()方法可以將網(wǎng)頁(yè)重定向到另一個(gè)頁(yè)面。重定向操作支持將地址重定向不同的主機(jī)上,這一點(diǎn)與轉(zhuǎn)發(fā)不同。在客戶端瀏覽器上將會(huì)得到跳轉(zhuǎn)的地址,并重新發(fā)送請(qǐng)求連接,用戶可以從瀏覽器的地址欄中看到跳轉(zhuǎn)后的地址。進(jìn)行重定向操作后,request中的屬性全部失效,并且開始一個(gè)新的request對(duì)象。
sendRedirect()方法的語(yǔ)法格式如下:
resposne.sendRedirect(String path);
參數(shù)說(shuō)明:
path:用于指定目標(biāo)路徑,可以是相對(duì)路徑,也可以是不同主機(jī)的其他URL地址。
2.處理HTTP頭文件
通過(guò)response對(duì)象可以設(shè)置HTTP響應(yīng)報(bào)頭,其中,最常用的是禁用緩存、設(shè)置頁(yè)面自動(dòng)刷新和定時(shí)跳轉(zhuǎn)網(wǎng)頁(yè)。
(1)禁用緩存
在默認(rèn)的情況下,瀏覽器將會(huì)對(duì)顯示的網(wǎng)頁(yè)內(nèi)容進(jìn)行緩存。這樣,當(dāng)用戶再次訪問(wèn)相關(guān)網(wǎng)頁(yè)時(shí),瀏覽器會(huì)判斷網(wǎng)頁(yè)是否會(huì)有變化,如果沒有變化則直接顯示緩存中的內(nèi)容,這樣可以提高網(wǎng)頁(yè)的顯示速度,對(duì)于一些安全性較高的網(wǎng)站,通常需要禁用緩存。
通過(guò)設(shè)置HTTP頭的方法實(shí)現(xiàn)禁用緩存,代碼如下:
(2)設(shè)置頁(yè)面自動(dòng)刷新
通過(guò)設(shè)置HTTP頭還可以實(shí)現(xiàn)頁(yè)面的自動(dòng)刷新
使網(wǎng)頁(yè)每隔10秒自動(dòng)刷新一次,代碼如下:
(3)定時(shí)跳轉(zhuǎn)網(wǎng)頁(yè)
通過(guò)設(shè)置HTTP頭還可以實(shí)現(xiàn)定時(shí)跳轉(zhuǎn)網(wǎng)頁(yè)的功能
使網(wǎng)頁(yè)5秒鐘后自動(dòng)跳轉(zhuǎn)到指定頁(yè)面,代碼如下:
getLastAccessdTime():返回客戶端最后一次與會(huì)話相關(guān)聯(lián)的請(qǐng)求時(shí)間。
getMaxInactiveInterval():以秒為單位返回一個(gè)會(huì)話內(nèi)兩個(gè)請(qǐng)求最大時(shí)間間隔。
setMaxInactiveInterval():以秒為單位設(shè)置session的有效時(shí)間。

Javaweb開發(fā)視頻
免費(fèi)html視頻教程:http://www.soulsinkind.com/v27/
免費(fèi)css視頻教程下載:http://www.soulsinkind.com/v67/
Javascript視頻教程下:http://www.soulsinkind.com/v68/
jquery視頻教程全集:http://www.soulsinkind.com/v30/
ajax視頻教程全集:http://www.soulsinkind.com/v31/
Java jsp入門教程:http://www.soulsinkind.com/v34/
spring視頻教程下載:http://www.soulsinkind.com/v38/
Java jsp入門教程:http://www.soulsinkind.com/v34/
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“誰(shuí)的Javaweb視頻教程好—JSP內(nèi)置對(duì)象”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)內(nèi)容
五大 JAVA Web 框架的優(yōu)缺點(diǎn)對(duì)比
Javaweb開發(fā)學(xué)習(xí)路線及Java三大框架
Javaweb學(xué)習(xí)路線(自學(xué)規(guī)劃)
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)