




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
■合肥學
HEFEIUNIVER
JSP內置對象
合肥學浣
HEFEIUNIVERSITY
本篇內容
?JSP內置對象概述
?JSP常用內置對象
合肥學浣
一、JSP內置對象概述HEFEIUNIVERSITY
?JSP中預先定義好一些常用的對象,在JSP頁面
中可以直接使用這些對象,不需要顯式聲明和實
例化
合肥學浣
HEFEIUNIVERSITY
<html>
<head>
<title>firstjsp</title>
</head>
<body>
<%
Stringdate=newjava.util.Date().toLocaleString();
%>.
『小X、JSP頁面中直接使用預定義胳的out對象,
v/html>調用其printin方法輸出劭態(tài)砌察
合肥學浣
JSP內置對象概述HEFEIUNIVERSITY
?JSP在第一次運行時會被翻譯成Servlet,在這個
過程中,容器會創(chuàng)建出一些與Web開發(fā)相關的對
象,JSP頁面中可以直接使用,這些對象稱之為
JSP內置對象,或德式對彖
?內置對象方便了JSP頁面的編程
合肥學浣
HEFEIUNIVERSITY
二.JSP常用內置對象
?JSP九大內置(隱式)對象
■out
■request
■response
■session
■application
■config
■pageContext
■page
■exception
查看JSP生成Servlet中預定義的對象
合肥學浣
HEFEIUNIVERSITY
2.1out對象
?out對象是一個輸出流對象,用來客戶端輸出數據
?out對象常用方法
■print(),println(),write(),writln()
合肥學浣
HEFEIUNIVERSITY
2.2request對象
>request對象封裝了客戶端發(fā)送給服務器的請求消
息,用于得到用戶提交的信息
?主要方法和作用參見Servlet篇HttpServletRequest
合肥學浣
HEFEIUNIVERSITY
獲取客戶端請求參數
<html>
<head></head>部臺處理代碼
<body>
<%
Stringusername=request.getParameter("userName");
String[]likes=request.getParameterValues("Iike");
StringIikes2="";
if(null!=likes){
for(inti=0;i<likes.length;i++)
Iikes2+=likes[i]+"
)
out.println("username:"+username);
out.println("likes:"+likes2);
%>
</body>
</html>
合肥學浣
HEFEIUNIVERSITY
JSP中文請求參數亂碼解決
>首先保證請求頁面的字符集編碼為utf-8
?JSP頁面獲取請求參數前,增加以下語句:
■針對POST提交的中文請求參數亂碼有效
request.setCharacterEncoding("utf-8H);
合肥學浣
HEFEIUNIVERSITY
中文亂碼總結(FINAL)
>原則:各處使用的字符集全部統一設置為包含中
文字符的某種編碼集,推薦utf-8
>HTML頁面head標記內加入:
<metahttp-equiv=uContent-Type,Jcontent=utext/html;charset=utf-8”>
?JSP頁面開始
<%@pagelanguage="java"contentType="text/htmI;charset=utf-8"%>
或
<%@pagelanguage="java"contentType="text/html;
charset=UTF-8HpageEncoding=HUTF-8"%>
合肥學浣
HEFEIUNIVERSITY
中文亂碼總結(FINAL)
?JSP頁面獲取請求參數前,增加:
request.setCharacterEncoding("utf-8n);
?Servlet程序開始處加:
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncodingC^tf-S");
?GET方式下中文請求參數亂碼解決:參見
HttpServletRequest&Response對象PPT自學部
合肥學浣
HEFEIUNIVERSITY
2.3response對象
?response對象代表服務器對客戶端的響應,封裝
響應消息,主要用于向客戶端輸出信息
?主要方法和作用參見Servlet篇
HttpServletResponse又寸象
合肥學浣
HEFEIUNIVERSITY
response實現重定向
?示例:登錄成功后,轉向首頁示例
提交給JSP判斷處理
<html>
<head></head>
<body>
<%
Stringusername=request.getParameter("userName");
Stringpwd=request.getParameter("pwd");
if(utom,,.equals(username)&&t<123},.equals(pwd)){
response.sendRedirect("index.jsp");
}else{
response.sendRedirect("error.html");
)
%>
</body>
</html>
合肥學浣
HEFEIUNIVERSITY
2.4session對象
>Q:用戶登錄后,希望在后續(xù)各個頁面的訪問中都
能得到登錄用戶的信息(比如登錄用戶名),通過
目前所學的知識該如何實現,
>從訪問每個頁面時,都把用戶名作為請求參數傳
遞過去
我們需要一種方便的技術,
怩就實現多個頁面之間的微據共享/
合肥學浣
HEFEIUNIVERSITY
保席森某處的
劇據
合肥學浣
HEFEIUNIVERSITY
>HTTP是一種無狀態(tài)協議,瀏覽器發(fā)送請求,
Web服務器回應結果,每次請求完成,服務器會
斷開連接,并不會保留上一次的請求信息
合肥學浣
HEFEIUNIVERSITY
會話與會話對象
?session對象“會話對象〃
?會話
■從客戶打開一個瀏覽器窗口連接到服務器開始,一
直到客戶關閉該瀏覽器窗口為止,稱為一個會話一
—session
?session對象是一個在一次會話過程中持續(xù)有效的
對象,可以通過此對象存儲和提取一些在會話過
程中始終保留的共享信息
合肥學浣
HEFEIUNIVERSITY
session對象常用方法
?往session對象里存值,方法原型
voidsetAttribute(Stringname,Objectvalue)
,方法說明:
■將一個value值(Object對象)與一個名稱(Key值)關聯
后,存入session對象
■示例:
u,,u,5
session.setAttribute(usernameJtom);
合肥學浣
HEFEIUNIVERSITY
session對象的數據存儲結構一Map
合肥學浣
HEFEIUNIVERSITY
01234567
aa值1值2值3值4值5值6值7值8
名1名2名3名4名5名6名7名8
map值工值2值3值4值5值6值7值8
Map數據結構將值(value)與名字(Key)關聯存儲
根據名字(Key)取對應值(value)
合肥學浣
HEFEIUNIVERSITY
session對象常用方法
?從session對象里取值,方法原型
ObjectgetAttribute(Stringname)
?方法說明:
■從session對象里,根據指定name(Key值),取對應的
value值
■返回類型為Object(需要向下轉型),若不存在返回null
合肥學浣
HEFEIUNIVERSITY
可以向session里存任何類型值,
并指定一個關聯name(任意合法標識符)
session.setAttribute(uusername,5,utom55);
StringuserName=
(String)session.getAtt^bute(ttusername,,);
合肥學浣
HEFEIUNIVERSITY
//User為用戶已定義類
Useruser=newUser();
session.setAttribute(^<username^^,user);
Useruser=
(User)session.getAttribute(<<username,5);
合肥學浣
HEFEIUNIVERSITY
session應用舉例
>用戶登錄后,后續(xù)訪問頁面取出登錄用戶信息并
顯示示例
?對于需要登錄才可以操作訪問的系統,通過判斷
session對象是否有對應信息以防止未登錄用戶的
頁面訪問
合肥學浣
HEFEIUNIVERSITY
理解session實現機制I
?session對象對應于服務器端的一塊內存空間
?session對象與客戶端一個瀏覽器窗口相對應,服
務器為每一個(發(fā)送請求的)客戶端瀏覽器窗口
開辟一塊內存空間,創(chuàng)建屬于各自窗口的session
對象,彼此互不影響
合肥學浣
HEFEIUNIVERSITY
服務器端
服務器內存
瀏覽器窗口1
褚泰session
>屬于洌覺器窗al
趙據
的session對索
session
瀏覽器窗口2屬于洌寬器窗a2
數據的session對象
錯點
合肥學浣
HEFEIUNIVERSITY
?示例:不同瀏覽器窗口對應不同session對象
卜問題:服務器如何做到各自窗口訪問的是屬
于各自的session對象
i%合肥學浣
______________HEFEIUNIVERSITY
理解session實現機制H
?服務器為每一個客戶端瀏覽器窗口創(chuàng)建各自
session對象的同時,為每個session對象分配一
個獨一無二的會話標傭符sessionid,該sessionid
用以唯一標識某個窗口
?服務器在響應消息中將sessionid傳遞給客戶端,
客戶端后續(xù)每次請求訪問中都把這個sessionid傳
送給服務器,服務器程序根據sessionid可以判斷
是哪個客戶端瀏覽器窗口發(fā)出的請求,從而選擇
合肥學浣
HEFEIUNIVERSITY
服冬黑瑞
瀏覽器窗口1
E2F34C
瀏覽器窗口2
返命
3DE5A7
.點
合肥學浣
后續(xù)訪問HEFEIUNIVERSITY
瀏覽器窗口1
施泰帶上、
E2F34C
瀏覽器窗口2
錯點帶上
3DE5A7
合肥學浣
HEFEIUNIVERSITY
?示例:H即Watch觀察session對象與瀏覽器窗口
的對應關系及sessionid
合肥學浣
HEFEIUNIVERSITY
說明
bsession會話對象與一個客戶端瀏覽器窗口相對應
■從打開一個窗口向服務器發(fā)出請求,開啟一次會話,到
關閉該窗口,會話過程結束,在這個期間,窗口共享一
個session對象
■重新打開一個新的瀏覽器窗口向服務器發(fā)出請求,會開
啟一次新會話,服務器創(chuàng)建另外一個新的session對象
合肥學浣
HEFEIUNIVERSITY
session對象的有效時間
?session是駐留在服務器端內存的對象
>可以通過以下方式釋放其所占內存資源
-程序顯式刪除
■在web.xml文件配置session失效時間
?查看匕171(^安裝目錄\8111\\%13仇011
<session-config>
<session-timeout>30</session-timeout>
</session-config>
合肥學浣
HEFEIUNIVERSITY
session對象其它方法
?通過程序顯式刪除session對象,釋放資源
■刪除session對象
invalidate()
■刪除session中指定名稱的對象
remove(Stringname)
合肥學浣
HEFEIUNIVERSITY
session對象其它方法
?獲取session對象的會話標識符id
getld()
?見教材P201例子
?教材p203示例,session存取值分別采用putValue
和getValue方法
■作用同setAttribute、getAttribute
■putValuegetValue方法已不推薦用
合肥學浣
HEFEIUNIVERSITY
2.5application對象
?application對象由多個客戶端瀏覽器窗口共享,
它的共享范圍是所有的客戶
?不同的客戶端瀏覽器窗口擁有系同的session對象
,而所有的客戶端瀏覽器窗口擁有同一個
application對象
合肥學浣
HEFEIUNIVERSITY
瀏覽器窗口1
瀏覽器窗口2
錯點
合肥學浣
HEFEIUNIVERSITY
application對象常用方法
?往application對象里存值
voidsetAttribute(Stringname,Objectvalue)
?方法說明:
■將一個value值(Object對象)與一個名稱(Key值)關聯
后,存入applicaton對象
合肥學浣
HEFEIUNIVERSITY
application對象常用方法
?從application對象里取值
ObjectgetAttribute(Stringname)
,方法說明:
■從application對象里,根據指定name,取對應的value值
■返回類型為Object(需要向下轉型),若不存在返回null
application示例
合肥學浣
HEFEIUNIVERSITY
2.6JSP其它內置對象
?page對象
?代表由JSP文件生成的Servlet對象自身
?pageContext對象
-提供了返回JSP頁面其它內置(隱式)對象的方法
?config對象
■獲取初始化配置信息
?exception對象
■用來發(fā)現、捕獲和處理異常
合肥學浣
_______________________HEFEIUNIVERSITY
2.7Cookie(不是JSP內置對象)
?問題:某些網站,可以記住用戶名和密碼,實現
自動登錄,如何實現
合肥學浣
HEFEIUNIVERSITY
Cookie
>session用以在服務器端保存一些狀態(tài)信息,
Cookie則可以在客戶端進行保存
?Cookie英文原意"小甜點"
?Cookie是服務器在客戶機上建立的小文本文件
■當客戶端瀏覽器訪問服務器上某個資源時,Web服務器
可以在響應消息頭中附帶傳送給瀏覽器一些數據,并通常
以文本文件的形式保留在客戶機硬盤(或瀏覽器內存)中
■客戶下次訪問該服務器時,在請求中會帶上Cookie文件
中的信息傳遞給服務器
合肥學浣
HEFEIUNIVERSITY
服務器端
合肥學浣
HEFEIUNIVERSITY
?觀察網站在客戶機上建的Cookie
合肥學浣
HEFEIUNIVERSITY
Cookie常用方法
?創(chuàng)建Cookie對象的構造方法
■參數name代表cookie名稱
■參數value代表cookie值
Cookie(Stringname,Stringvalue)
■示例:
Cookiecookie=newCookie("username”,“jack”)
安取一個Cookie對象,
名稱,username,值為jack
?合肥學浣
HEFEIUNIVERSITY
Cookie常用方法
?設置Cookie在瀏覽器客戶機上保存的最大時間
?單位秒
■如果不設置,貝UCookie保留在客戶機瀏覽器進程內存中
setMaxAge()
?示例
Cookiecookie=newCookie("username”,“jack”)
//該cookie在客戶機硬盤上保留1分鐘
cookie.setMaxAge(60);
合肥學浣
HEFEIUNIVERSITY
Cookie常用方法
?通過response對象如下方法將Cookie發(fā)送給客戶
,山
乂而
addCookie(Cookie對象名)
■示例:
Cookiecookie=newCookie("username",“jack”);
cookie.setMaxAge(60);
response.addCookie(cookie);
合肥學浣
HEFEIUNIVERSITY
Cookie常用方法
?返回Cookie名稱
getName()
?返回Cookie值
getValue()
?示例
Cookiecookie=newCookie("username",“jack”)
Stringname=cookie.getName();
Stringvalue=cookie.getValue();
合肥學浣
HEFEIUNIVERSITY
?讀取某網站在客戶機上保留的Cookie
■返回Cookie對象數組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山西工程職業(yè)學院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年安徽衛(wèi)生健康職業(yè)學院高職單招(數學)歷年真題考點含答案解析
- C語言知識點課件
- 2025畢業(yè)論文答辯:模板25
- 茶藝知識的了解
- 理療機器護理操作規(guī)范
- 云南省楚雄彝族自治州2025年四年級數學第二學期期末聯考試題含解析
- 基于SSM框架的管理系統
- 安徽省淮北市相山區(qū)一中2025年第二學期高三年級期末質量調研(一模)考試生物試題試卷含解析
- 408知識點記憶方法
- 電纜溝、電纜管、電纜井專項施工方案
- 《人工智能技術基礎》課件-第六章 知識圖譜
- DL∕T 1751-2017 燃氣-蒸汽聯合循環(huán)機組余熱鍋爐運行規(guī)程
- 呼吸內科利用品管圈PDCA循環(huán)提高患者對無創(chuàng)呼吸機的有效使用率
- 無人機航拍技術理論考核試題題庫及答案
- 500噸每日小區(qū)生活污水處理工程設計大學本科畢業(yè)論文
- 焊接工藝評定規(guī)程
- 五腧穴、原穴、郄穴、募穴、背俞穴、絡穴、八脈交會穴、八會穴、下合穴
- 創(chuàng)傷后應激障礙(PTSD)
- 文言文王安石《答司馬諫議書》司馬光《與王介甫書》閱讀練習及答案
- 松木樁地基處理計算表格(自動版)
評論
0/150
提交評論