更新時間:2020-01-18 10:37:35 來源:動力節點 瀏覽2645次
JSP內置對象定義
JSP提供了由容器實現和管理的內置對象,也可以稱之為隱含對象,這些內置對象不需要通過JSP頁面編寫來實例化,在所有的JSP頁面中都可以直接使用,它們起到了簡化頁面的作用,JSP的內置對象廣泛應用于JSP的各種操作中。
JSP九大內置對象
由于JSP使用Java作為腳本語言,所以JSP將具有強大的對象處理能力,并且可以動態創建Web頁面內容。但Java語法在使用一個對象前,需要先實例化這個對象,這其實是一件比較繁瑣的事情。為了簡化開發,JSP提供了一些內置對象,用來實現很多JSP應用。在使用JSP內置對象時,不需要先定義這些對象,直接使用即可。
在JSP中一共預先定義了9個這樣的對象,分別為request、response、session、application、pageContext、config、page和exception。
request對象
request對象封裝了由客戶端生成的HTTP請求的所有細節,主要包括HTTP頭信息、系統信息、請求方式和請求參數等。通過request對象提供的響應方法可以處理客戶端瀏覽器提交的HTTP請求中的各項參數。
1.訪問請求參數
我們知道request對象用于處理HTTP請求中的各項參數。在這些參數中,最常用的就是獲取訪問請求參數。當通過超鏈接的形式發送請求時,就可以為該請求傳遞參數,這可以通過在超鏈接的后面加上"?"來實現。
在頁面中定義超鏈接,代碼如下:
刪除
在delete.jsp頁面中,可以通過request對象的getParamater()方法獲取傳遞的參數值。代碼如下:
在使用request的getParameter()方法獲取傳遞的參數值時,如果指定的參數不存在,將但會null,如果指定了參數名,但未指定參數值,將返回空的字符串("")。
2.在作用域中管理屬性
在進行請求轉發時,需要把一些數據傳遞到轉發后的頁面進行處理。這時,就需要使用request對象的setAttribute()方法將數據保存到request范圍內的變量中
request對象的setAttribute()方法的語法格式如下:
request.setAttribute(String name,Object object)
參數說明:
name:表示變量名,為String類型,在轉發后的頁面取數據時,就是通過這個變量名獲取數據的。
object:用于指定需要在request范圍內傳遞的數據,為Object類型。
在將數據保存到request范圍內的變量中后,可以通過request對象的getAttribute()方法獲取該變量的值,具體的語法格式如下:
request.getAttribute(String name)
參數說明:
name:表示變量名,該變量名在request范圍內有效。
3.獲取cookie
cookie的中文意思是"小甜餅",然而在互聯網中的意思與這就完全不同了,它和食品完全沒有關系。在互聯網中,cookie是小段的文本信息,在網絡服務器上生成,并發送給瀏覽器。通過使用cookie可以表示用戶身份,記錄用戶名和密碼,跟蹤重復用戶等。瀏覽器將cookie以key/value的形式保存到客戶機的某個指定目錄中。
通過request的getCookies()方法即可獲得所有cookie對象的集合。
4.解決中文亂碼
因為request請求都是ISO-8859-1編碼的,而在頁面中采用的是UTF-8編碼方式,所以在使用中文參數時會出現亂碼的問題,要解決此問題,只要將獲取到的數據通過String的構造方法使用指定的編碼類型重新構造一個String對象,即可正確地顯示中文信息。
5.獲取客戶端信息
通過request對象可以獲取客戶端的相關信息,如HTTP報頭信息,客戶信息提交方式。客戶端主機IP地址、端口號等。在客戶端獲取用戶請求相關的request對象的方法如下所示:
(1)getHeader(String name):獲取HTTP協議定義的文件頭信息
(2)getHeaders(String name):返回指定名字的request Header的所有值,其結果是一個枚舉型的實例
(3)getHeadersNames():返回所有request Header的名字,其結果是一個枚舉型的實例
(4)getMethod():返獲得客戶端向服務器端發送數據的方法,如get、post
(5)getProtocol():獲得客戶端向服務器發送數據所依據的協議名稱
(6)getRequestURI():獲取發出請求字符串的客戶端地址,不包括請求參數
(7)getRequestURL():獲取發出請求字符串的客戶端地址
(8)getReadPath():返回當前請求文件的絕對地址
(9)getRemoteAddr():返回客戶端的IP地址
(10)getRemoteHost():返回客戶端的主機名
(11)getServerName():獲取服務器的名字
(12)getServerPath():獲取客戶端所請求的腳本文件的文件路徑
(13)getServerPort():獲取服務器的端口號
6.顯示國際化信息
瀏覽器可以通過accept-language的HTTP報頭向Web服務器指明它所使用的本地語言,request對象中的getLocale()和getLocales()方法允許JSP開發人員獲取這一信息,獲取的信息屬于java.util.Local類型。java.util.Local類型的對象封裝了一個國家和國家所使用的一種語言,通過這一信息,JSP開發者就可以使用語言所特有的信息做響應。
response對象
response對象用于響應客戶請求,向客戶端輸出信息,它封裝了JSP產生的響應,并發送到客戶端已響應客戶端的請求,請求的數據可以是各種數據類型,甚至是文件。response對象在JSP頁面內有效。
1.重定向網頁
使用response對象提供的sendRedirect()方法可以將網頁重定向到另一個頁面。重定向操作支持將地址重定向不同的主機上,這一點與轉發不同。在客戶端瀏覽器上將會得到跳轉的地址,并重新發送請求連接,用戶可以從瀏覽器的地址欄中看到跳轉后的地址。進行重定向操作后,request中的屬性全部失效,并且開始一個新的request對象。
sendRedirect()方法的語法格式如下:
resposne.sendRedirect(String path);
參數說明:
path:用于指定目標路徑,可以是相對路徑,也可以是不同主機的其他URL地址。
2.處理HTTP頭文件
通過response對象可以設置HTTP響應報頭,其中,最常用的是禁用緩存、設置頁面自動刷新和定時跳轉網頁。
(1)禁用緩存
在默認的情況下,瀏覽器將會對顯示的網頁內容進行緩存。這樣,當用戶再次訪問相關網頁時,瀏覽器會判斷網頁是否會有變化,如果沒有變化則直接顯示緩存中的內容,這樣可以提高網頁的顯示速度,對于一些安全性較高的網站,通常需要禁用緩存。
通過設置HTTP頭的方法實現禁用緩存,代碼如下:
(2)設置頁面自動刷新
通過設置HTTP頭還可以實現頁面的自動刷新
使網頁每隔10秒自動刷新一次,代碼如下:
(3)定時跳轉網頁
通過設置HTTP頭還可以實現定時跳轉網頁的功能
使網頁5秒鐘后自動跳轉到指定頁面,代碼如下:
getLastAccessdTime():返回客戶端最后一次與會話相關聯的請求時間。
getMaxInactiveInterval():以秒為單位返回一個會話內兩個請求最大時間間隔。
setMaxInactiveInterval():以秒為單位設置session的有效時間。
Javaweb開發視頻
免費html視頻教程:http://www.dabaquan.cn/v27/
免費css視頻教程下載:http://www.dabaquan.cn/v67/
Javascript視頻教程下:http://www.dabaquan.cn/v68/
jquery視頻教程全集:http://www.dabaquan.cn/v30/
ajax視頻教程全集:http://www.dabaquan.cn/v31/
Java jsp入門教程:http://www.dabaquan.cn/v34/
spring視頻教程下載:http://www.dabaquan.cn/v38/
Java jsp入門教程:http://www.dabaquan.cn/v34/
以上就是動力節點Java培訓機構小編介紹的“誰的Javaweb視頻教程好—JSP內置對象”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
相關內容
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習