1.
內置對象,顧名思義,就是在jsp中不用new的對象,jsp中自帶的,可以直接使用的
2.
jsp中有9大內置對象,分別是:
請求對象:request
輸出對象:out
響應對象:response
應用程序對象:application
會話對象:session
頁面上下文對象:pageContext
頁面對象:page
配置對象:config
異常對象:exception
(一)request
(1)request:作用域:僅限于一次請求,請求對象,存儲客戶端向服務端發送的請求信息
(2)request對象常見方法:
string getParameter(Stringname):根據請求字段名Key,返回字段值value
string [ ]getParameterValues(String name):根據請求字段名Key,返回多個字段值value
void setCharacter Encoding:設置請求編碼(編碼格式“utf-8”)
getRequestDispatcher(“b.jsp”).forward(request,response):請求轉發的方式條狀頁面A->B
getServerContext(); 獲取項目的ServerContext對象
(3)頁面跳轉之——請求轉發和重定向的區別
轉發和重定向都可以實現頁面的跳轉:
轉發:request.getRequestDispatcher("url").forward(request, response)
重定向:response.sendRedirect("url")
請求轉發
重定向
(4)請求轉發與重定向的區別
1、轉發使用的是request.getRequestDispatcher()方法;重定向使用的是response.sendRedirect();
2、轉發:瀏覽器URL的地址欄不變。重定向:瀏覽器URL的地址欄改變;
3、轉發是服務器內部行為,重定向是客戶端行為;
4、轉發是瀏覽器只做了一次訪問請求。重定向是瀏覽器做了至少兩次的訪問請求;
5、轉發可以攜帶數據,信息不會丟失;重定向不能攜帶參數,信息會丟失(request范圍)。
6、轉發只能在服務器內部轉發;重定向沒有限制
(二)session(會話)
(1)session的解釋
Session:會話技術,從客戶端打開瀏覽器訪問服務器,到最后客戶端關閉瀏覽器,整個過程稱為一次會話。
在這個會話的過程中,服務器會針對每個客戶端創建一個和客戶端相關的唯一的臨時容器,這個容器用于保存當前客戶的所有信息。
并且在給客戶端響應數據的時候,會給客戶端回送一個唯一標識當前客戶端相關的臨時容器的id,在客戶端下次訪問服務器的時候,會攜帶這個id信息,在服務器端就可以找到和客戶端相關的臨時戎, 繼續使用這個臨時容器。
如果獲取這個Session對象,為每個客戶端服務:在servlet可以通過Request對象獲取和當前客戶端相關的唯一Session對象。在jsp中可以直接使用
(2)session的銷毀時間
1、一般在web服務器中Session有默認的存活時間,一般是半小時。如果在30分鐘內,用戶一直沒有做任何操作,這時服務器會當前這個Session自動的銷毀。
2、不正常關閉服務器。正常關閉服務器,服務器會把這個Session對象使用io流中的序列化技術保存在tomcat/work目錄下
3、在Servlet程序中手動的銷毀Session對象。session.invalidate();
Session的存活時間可以在web.xml中配置也可以通過方法指定:
setMaxInactiveInterval(int interval); //單位是秒,一般是在存儲值的時候進行設置。
(3)session和cookie之間的聯系(例子講解)
(3)cookie的介紹
1.
Cookie技術主要需要依賴于給用戶響應數據時,給用戶的本地寫數據。
創建一個 cookie,cookie 是 servlet 發送到 Web 瀏覽器的少量信息,這些信息由瀏覽器保存,然后發送回服務器。cookie 的值可以唯一地標識客戶端,因此 cookie 常用于會話管理。
Cookie技術主要解決的是在客戶端和服務器進行交互的過程中,保存用戶的數據,這些數據主要是通過服務器使用Cookie對象寫到客戶端的瀏覽器中。然后在瀏覽器中保存這些數據。Cookie對象可以保存用戶和服務器的交互數據,但是需要保存在客戶端。
2
獲取cookie
需要使用HttpServletRequest對象中的getCookies方法,會得到一個Cookie數組,這是因為一個站點可能會存放多個Cookie數據
例如:Cookie[] cookies = request.getCookies();
得到Cookie數組之后,判斷cookies數組是否存在 cookies == null,如果cookies存在,根據cookie的name去查找指定cookie
3.
發送cookie
創建好Cookie對象之后,需要使用HttpServletResponse中的addCookie方法,將Cookie對象添加到響應中,然后發給客戶端。
例如:response.addCookie(cookie);
在Cookie對象中提供了getName可以獲取Cookie的key值,提供的getValue可以獲取key對應的value值,同時也可以使用setValue給當前的Cookie對象設置value值。
SetPsth設置cookie可以訪問資源路徑
SetMaxAge() - 設置cookie的生存時間
(4)
session和cookie的區別
因為cookie 不是9大內置對象之一,所以使用cookie時,必須要new
一個cookie的對象
(三)application
全局變量:整個項目運行期間 都有效(切換瀏覽器,仍然有效),但是關閉服務器或者訪問其他項目都不行
(四)三個對象的對比
創新互聯www.cdcxhl.cn,專業提供香港、美國云服務器,動態BGP最優骨干路由自動選擇,持續穩定高效的網絡助力業務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節活動現已開啟,新人活動云服務器買多久送多久。
本文題目:jsp的9大內置對象詳解-創新互聯
URL分享:http://m.newbst.com/article6/cossog.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網站設計、Google、App開發、靜態網站、定制網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯