




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、WEBWEB系系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)1第第7 7章章 動(dòng)態(tài)信息的存儲(chǔ)和訪(fǎng)問(wèn)動(dòng)態(tài)信息的存儲(chǔ)和訪(fǎng)問(wèn)第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)2問(wèn)題引入問(wèn)題引入P142P142 (1)當(dāng)某一用戶(hù)登錄到某網(wǎng)站之后,該網(wǎng)站如何當(dāng)某一用戶(hù)登錄到某網(wǎng)站之后,該網(wǎng)站如何得知得知該用戶(hù)已經(jīng)登錄該用戶(hù)已經(jīng)登錄?登錄之后,只要網(wǎng)站的相關(guān)頁(yè)面不關(guān)閉,則一直處登錄之后,只要網(wǎng)站的相關(guān)頁(yè)面不關(guān)閉,則一直處于登錄狀態(tài)于登錄狀態(tài) (2)某些網(wǎng)站可以讓用戶(hù)選擇某些網(wǎng)站可以讓用戶(hù)選擇若干天不登錄若干天不登錄但仍可訪(fǎng)但仍可訪(fǎng)問(wèn)網(wǎng)站的某些功能,系統(tǒng)是如何保存這些客戶(hù)信息的?問(wèn)網(wǎng)站的某些功能,系統(tǒng)是如
2、何保存這些客戶(hù)信息的?登錄之后,即使關(guān)閉,再次打開(kāi),仍處于登錄狀態(tài)登錄之后,即使關(guān)閉,再次打開(kāi),仍處于登錄狀態(tài)第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)3保存信息的保存信息的2 2種方式:種方式: 在在Web應(yīng)用中,有兩種信息的保存方式應(yīng)用中,有兩種信息的保存方式臨時(shí)保存臨時(shí)保存:可以使用:可以使用應(yīng)用服務(wù)器提供的功能應(yīng)用服務(wù)器提供的功能保存保存 使用服務(wù)器在運(yùn)行中的各種對(duì)象使用服務(wù)器在運(yùn)行中的各種對(duì)象永久保存永久保存:保存到:保存到數(shù)據(jù)庫(kù)或者文件數(shù)據(jù)庫(kù)或者文件中。中。 使用數(shù)據(jù)庫(kù)或者文件,一般多數(shù)使用數(shù)據(jù)庫(kù)。使用數(shù)據(jù)庫(kù)或者文件,一般多數(shù)使用數(shù)據(jù)庫(kù)。第08章 動(dòng)態(tài)
3、動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)4主要內(nèi)容主要內(nèi)容 一、內(nèi)存中保存信息一、內(nèi)存中保存信息 二、客戶(hù)端保存信息二、客戶(hù)端保存信息第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)5一、內(nèi)存中保存信息一、內(nèi)存中保存信息 需要臨時(shí)保存的信息:需要臨時(shí)保存的信息:與與服務(wù)器相關(guān)服務(wù)器相關(guān)的信息(環(huán)境、參數(shù))的信息(環(huán)境、參數(shù)) 。與每個(gè)與每個(gè)用戶(hù)相關(guān)用戶(hù)相關(guān)的信息(登錄信息、權(quán)限)。的信息(登錄信息、權(quán)限)。與每次與每次請(qǐng)求相關(guān)請(qǐng)求相關(guān)的信息,僅在當(dāng)前請(qǐng)求中有效。的信息,僅在當(dāng)前請(qǐng)求中有效。每個(gè)每個(gè)頁(yè)面使用頁(yè)面使用的信息,僅在當(dāng)前頁(yè)面中使用。的信息,僅在
4、當(dāng)前頁(yè)面中使用。涉及這些信息的保存,一共有涉及這些信息的保存,一共有5 5種方式。種方式。(1)application (2)session(3)request(4)page(5)cookieWEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)6內(nèi)部對(duì)象關(guān)系圖內(nèi)部對(duì)象關(guān)系圖客客戶(hù)戶(hù)1 1 Cookie Cookie客客戶(hù)戶(hù)2 2 Cookie Cookie客客戶(hù)戶(hù)n n Cookie Cookie網(wǎng)絡(luò)網(wǎng)絡(luò)服服務(wù)務(wù)器器WebWeb應(yīng)應(yīng)用用1 application1 application對(duì)對(duì)象象sessionsession對(duì)對(duì)象象1 1sessionsession對(duì)對(duì)象象2 2sessionsession對(duì)對(duì)象象
5、n nrequestrequest對(duì)對(duì)象象1 1requestrequest對(duì)對(duì)象象2 2requestrequest對(duì)對(duì)象象n nJSPJSP對(duì)對(duì)象象1 1JSPJSP對(duì)對(duì)象象2 2JSPJSP對(duì)對(duì)象象n nServletServlet對(duì)對(duì)象象1 1ServletServlet對(duì)對(duì)象象2 2ServletServlet對(duì)對(duì)象象n nJSPJSP文件文件1 1JSPJSP文件文件2 2JSPJSP文件文件n nServletServlet文件文件1 1ServletServlet文件文件2 2ServletServlet文件文件n nWebWeb應(yīng)應(yīng)用用2 2applicationapplic
6、ation對(duì)對(duì)象象WebWeb應(yīng)應(yīng)用用3 3applicationapplication對(duì)對(duì)象象第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)7一、內(nèi)存中保存信息一、內(nèi)存中保存信息 1、application對(duì)象對(duì)象 2、session對(duì)象對(duì)象 3、request對(duì)象對(duì)象第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)81 1、applicationapplication對(duì)象對(duì)象 用來(lái)在用來(lái)在多個(gè)程序多個(gè)程序或者或者多個(gè)用戶(hù)多個(gè)用戶(hù)之間共享數(shù)據(jù),用戶(hù)使之間共享數(shù)據(jù),用戶(hù)使用的所有用的所有application對(duì)象都是一樣的。對(duì)象都是一樣的。 服
7、務(wù)器一旦啟動(dòng),就會(huì)服務(wù)器一旦啟動(dòng),就會(huì)自動(dòng)創(chuàng)建自動(dòng)創(chuàng)建application對(duì)象,并對(duì)象,并一直保持一直保持,直至服務(wù)器關(guān)閉后自動(dòng)消失。,直至服務(wù)器關(guān)閉后自動(dòng)消失。 該對(duì)象的該對(duì)象的功能功能:A、獲取與容器相關(guān)的信息、獲取與容器相關(guān)的信息B、存取共享信息、存取共享信息 具體使用方式:具體使用方式:JSP:是內(nèi)部對(duì)象,可直接使用:是內(nèi)部對(duì)象,可直接使用Servlet:先獲取該對(duì)象,然后再使用:先獲取該對(duì)象,然后再使用第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)91 1、applicationapplication對(duì)象對(duì)象 (1)在在Servlet中獲取中獲取appli
8、cation對(duì)象對(duì)象(注:在(注:在JSP中可直中可直接使用接使用application對(duì)象)對(duì)象)ServletContext application=this.getServletContext(); (2)對(duì)象的常用方法對(duì)象的常用方法getAttribute():得到:得到Servlet上下文屬性上下文屬性name所代表的所代表的對(duì)象。對(duì)象。public Object getAttribute(String name)setAttribute():將:將Servlet上下文指定的名稱(chēng)上下文指定的名稱(chēng)name所代所代表的對(duì)象設(shè)定為表的對(duì)象設(shè)定為attribute,若,若name已經(jīng)存在,則
9、替換。已經(jīng)存在,則替換。不存在則創(chuàng)建。不存在則創(chuàng)建。public void setAttribute(String name,Object attribute)第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)101 1、applicationapplication對(duì)象對(duì)象 例如例如/獲取獲取application對(duì)象對(duì)象ServletContext application=this.getServletContext();/設(shè)置設(shè)置application中的變量中的變量countapplication.setAttribute(“count”,new Integer(i
10、Count);/獲取獲取application中的變量中的變量count的值的值Object o=application.getAttribute(“count”);iCount=(Integer)o).intValue();使用使用application對(duì)象實(shí)現(xiàn)網(wǎng)頁(yè)計(jì)數(shù)器對(duì)象實(shí)現(xiàn)網(wǎng)頁(yè)計(jì)數(shù)器第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)11計(jì)數(shù)器代碼計(jì)數(shù)器代碼 index.jspindex.jsp第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)12計(jì)數(shù)器改良版本計(jì)數(shù)器改良版本 第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與
11、設(shè)計(jì)132 2、sessionsession對(duì)象對(duì)象 需要保持服務(wù)器與客戶(hù)在整個(gè)會(huì)話(huà)期間的數(shù)據(jù)信息;需要在需要保持服務(wù)器與客戶(hù)在整個(gè)會(huì)話(huà)期間的數(shù)據(jù)信息;需要在多個(gè)頁(yè)面間共享信息時(shí),可以使用多個(gè)頁(yè)面間共享信息時(shí),可以使用session。 session對(duì)象的對(duì)象的信息保存在服務(wù)器信息保存在服務(wù)器中,但中,但I(xiàn)D保存在客戶(hù)機(jī)的保存在客戶(hù)機(jī)的Cookie中中,若客戶(hù)機(jī)不支持,若客戶(hù)機(jī)不支持Cookie,則轉(zhuǎn)為,則轉(zhuǎn)為URL重寫(xiě)。重寫(xiě)。在使用時(shí)在使用時(shí)無(wú)需考慮這些細(xì)節(jié)。無(wú)需考慮這些細(xì)節(jié)。 具體使用方式:具體使用方式:JSP:是內(nèi)部對(duì)象,可直接使用:是內(nèi)部對(duì)象,可直接使用Servlet:先獲取該對(duì)象,然
12、后再使用:先獲取該對(duì)象,然后再使用 常用方法常用方法setAttribute()getAttribuet()removeAttribute()第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)142 2、sessionsession對(duì)象對(duì)象(1)在)在Servlet中獲取中獲取session對(duì)象對(duì)象HttpSession session=request.getSessioon();(2)在)在session中存儲(chǔ)信息中存儲(chǔ)信息session.setAttribute(“uid”,uid);session.setAttribute(“ugrade”,ugrade);注:若變
13、量已經(jīng)存在,則注:若變量已經(jīng)存在,則setAttribute()完成更新操作完成更新操作(3)在)在session中獲取信息中獲取信息String uid=(String)session.getAttribute(“uid”);String ugrade=(String)session.getAttribute(“ugrade”)注:若變量不存在,則注:若變量不存在,則getAttribute()返回值為返回值為null第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)15 (4)刪除)刪除session中的信息中的信息session.removeAttribute(“u
14、id”); (5)使)使session無(wú)效無(wú)效session.invalidate();Session的實(shí)例的實(shí)例A、記住會(huì)話(huà)的用戶(hù)名、記住會(huì)話(huà)的用戶(hù)名B、猜字母游戲:、猜字母游戲:guessCharEx1.jsp/guessResultEx1.jspC、改進(jìn)網(wǎng)頁(yè)計(jì)數(shù)器、改進(jìn)網(wǎng)頁(yè)計(jì)數(shù)器利用利用session對(duì)象的對(duì)象的isNew()方法:方法:如果服務(wù)器端尚未接收如果服務(wù)器端尚未接收過(guò)客戶(hù)端關(guān)于當(dāng)前會(huì)話(huà)的請(qǐng)示,則此方法返回過(guò)客戶(hù)端關(guān)于當(dāng)前會(huì)話(huà)的請(qǐng)示,則此方法返回true,否則,否則返回返回false。第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)16記住會(huì)話(huà)的用戶(hù)名記
15、住會(huì)話(huà)的用戶(hù)名在主頁(yè)中登錄在主頁(yè)中登錄判斷用戶(hù)名是否判斷用戶(hù)名是否正確正確結(jié)果提示頁(yè)面結(jié)果提示頁(yè)面check.jspcheck.jspindex.jspCheckServlet5秒后秒后轉(zhuǎn)轉(zhuǎn)向主向主頁(yè)頁(yè);在;在主主頁(yè)頁(yè)中中顯顯示信息示信息1 1、獲取用戶(hù)登錄信息、獲取用戶(hù)登錄信息2 2、判斷信息是否正確、判斷信息是否正確(1 1)創(chuàng)建存放用戶(hù)名的)創(chuàng)建存放用戶(hù)名的sesssessionion變量變量(2 2)存放登錄狀態(tài)的)存放登錄狀態(tài)的sessiosession n變量變量3 3、轉(zhuǎn)向結(jié)果提示頁(yè)面、轉(zhuǎn)向結(jié)果提示頁(yè)面第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)17猜
16、字母猜字母/ /數(shù)字游戲數(shù)字游戲生成隨機(jī)字母生成隨機(jī)字母/ /數(shù)數(shù)字字存入存入sessionsession對(duì)象對(duì)象的變量中的變量中猜字母猜字母獲取所猜的字母獲取所猜的字母并比較并比較1 1、創(chuàng)建一個(gè)存放、創(chuàng)建一個(gè)存放2626個(gè)字母?jìng)€(gè)字母(數(shù)字)的字符串變量(數(shù)字)的字符串變量2 2、生成一個(gè)用于表示字符位、生成一個(gè)用于表示字符位置的隨機(jī)數(shù)(置的隨機(jī)數(shù)(0-250-25)3 3、利用字符串的、利用字符串的charAt()charAt()方方法獲取一個(gè)字符并賦值給某法獲取一個(gè)字符并賦值給某個(gè)字符變量個(gè)字符變量需要:需要:1 1、游戲規(guī)則說(shuō)明、游戲規(guī)則說(shuō)明2 2、用以輸入字母的表單(僅、用以輸入字母
17、的表單(僅需文本框和提交按鈕)需文本框和提交按鈕)guessCharEx1.jspguessResultEx1.jsp第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)18生成隨機(jī)數(shù)字生成隨機(jī)數(shù)字String charString=new String(0123456789);int charNumber=(int)(Math.random()*10);Character TempCharacter=new Character(charString.charAt(charNumber); session.setAttribute(TempCharacter,TempCha
18、racter); -比較前要轉(zhuǎn)換成字符串類(lèi)型比較前要轉(zhuǎn)換成字符串類(lèi)型String result=session.getAttribute(TempCharacter).toString();第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)19關(guān)于瀏覽器進(jìn)程間的共享機(jī)制關(guān)于瀏覽器進(jìn)程間的共享機(jī)制瀏覽瀏覽器器進(jìn)進(jìn)程程1 1瀏覽瀏覽器器進(jìn)進(jìn)程程2 2瀏覽瀏覽器器進(jìn)進(jìn)程程3 3瀏覽瀏覽器器進(jìn)進(jìn)程程4 4第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)20 結(jié)論結(jié)論保存保存Session ID的的會(huì)話(huà)會(huì)話(huà)Cookie被保存在瀏覽器的內(nèi)被保存在瀏覽器的內(nèi)存中
19、,在瀏覽器關(guān)閉后就存中,在瀏覽器關(guān)閉后就被刪除被刪除,不能在多個(gè)瀏覽,不能在多個(gè)瀏覽器進(jìn)程間共享。器進(jìn)程間共享。IE瀏覽器:各個(gè)打開(kāi)的瀏覽器:各個(gè)打開(kāi)的IE瀏覽器瀏覽器具有不同的進(jìn)程,具有不同的進(jìn)程,不能共享內(nèi)存中的不能共享內(nèi)存中的Cookie。只有某些方式下打開(kāi)的只有某些方式下打開(kāi)的不同窗口不同窗口屬于同一進(jìn)程屬于同一進(jìn)程。FireFox瀏覽器:其打開(kāi)的不同窗口瀏覽器:其打開(kāi)的不同窗口。第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)21對(duì)于對(duì)于sessionsession使用的一種誤解使用的一種誤解 瀏覽器一旦關(guān)閉,瀏覽器一旦關(guān)閉,Session就消失了就消失了。
20、實(shí)際上實(shí)際上:在服務(wù)器端,原先的:在服務(wù)器端,原先的Session仍舊存在,直至仍舊存在,直至超時(shí)超時(shí)才被服務(wù)器刪除才被服務(wù)器刪除 對(duì)于客戶(hù)端:保存對(duì)于客戶(hù)端:保存Session ID的的Cookie保存在瀏覽器的保存在瀏覽器的內(nèi)存中內(nèi)存中,一旦瀏覽器關(guān)閉,一旦瀏覽器關(guān)閉,Cookie將被刪除,則無(wú)法將被刪除,則無(wú)法找到先前的找到先前的SessionID。 當(dāng)再次打開(kāi)瀏覽器連接服務(wù)器時(shí),服務(wù)器沒(méi)有收到當(dāng)再次打開(kāi)瀏覽器連接服務(wù)器時(shí),服務(wù)器沒(méi)有收到SessionID,因此就創(chuàng)建了一個(gè)新的,因此就創(chuàng)建了一個(gè)新的Session。第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)2
21、23 3、requestrequest 主要針對(duì)主要針對(duì)同一次請(qǐng)求的不同頁(yè)面同一次請(qǐng)求的不同頁(yè)面之間要共享信息之間要共享信息(1)信息的存儲(chǔ):通過(guò))信息的存儲(chǔ):通過(guò)request對(duì)象的對(duì)象的setAttribute方法完方法完成成public void setAttribute(String name,Object o)例如:設(shè)第一個(gè)頁(yè)面有一個(gè)例如:設(shè)第一個(gè)頁(yè)面有一個(gè)String型變量型變量str,要在,要在第二個(gè)頁(yè)面中使用,則可以通過(guò)下面方法保存第二個(gè)頁(yè)面中使用,則可以通過(guò)下面方法保存request.setAttribute(“mystr”,str);例如:把計(jì)算結(jié)果例如:把計(jì)算結(jié)果int型
22、值保存型值保存request.setAttrubute(“re”, new Integer(result)第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)23(2)信息的獲取:通過(guò))信息的獲?。和ㄟ^(guò)request對(duì)象的對(duì)象的getAttribute方法方法完成完成public Object getAttribute(String name)返回值類(lèi)型是返回值類(lèi)型是Object,因此獲取信息時(shí)需要進(jìn)行類(lèi),因此獲取信息時(shí)需要進(jìn)行類(lèi)型強(qiáng)制轉(zhuǎn)換。型強(qiáng)制轉(zhuǎn)換。若要獲取的信息不存在,則返回值為若要獲取的信息不存在,則返回值為null 例如:顯示存儲(chǔ)在例如:顯示存儲(chǔ)在request中
23、的中的str對(duì)象對(duì)象第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)245 5、相鄰頁(yè)面之間共享信息(自學(xué))、相鄰頁(yè)面之間共享信息(自學(xué)) (1)通過(guò)表單提交完成,使用隱藏域)通過(guò)表單提交完成,使用隱藏域 (2)通過(guò)請(qǐng)求字符串完成,在請(qǐng)求的地址后面用)通過(guò)請(qǐng)求字符串完成,在請(qǐng)求的地址后面用“?”傳遞參數(shù)。傳遞參數(shù)。第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)25(1 1)使用隱藏域傳遞參數(shù))使用隱藏域傳遞參數(shù) 隱藏域的基本格式隱藏域的基本格式 注:必須使用表單提交,值才會(huì)傳遞到服務(wù)器。注:必須使用表單提交,值才會(huì)傳遞到服務(wù)器。input ty
24、pe=“” name=“valuename” value=“value”第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)26(2 2)使用請(qǐng)求字符串傳遞信息)使用請(qǐng)求字符串傳遞信息 基本格式基本格式requesturl?pname1=“pvalue1”&pname2=“pvalue2”&requesturl?pname1=“pvalue1”&pname2=“pvalue2”&第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)27二、客戶(hù)端保存:二、客戶(hù)端保存:CookieCookie Cookie是服務(wù)器發(fā)送給客戶(hù)端
25、瀏覽器的體積較小的是服務(wù)器發(fā)送給客戶(hù)端瀏覽器的體積較小的純純文本信息文本信息,以后當(dāng)用戶(hù)訪(fǎng)問(wèn),以后當(dāng)用戶(hù)訪(fǎng)問(wèn)同一個(gè)服務(wù)器同一個(gè)服務(wù)器時(shí),瀏覽器時(shí),瀏覽器會(huì)把它們發(fā)送給服務(wù)器。會(huì)把它們發(fā)送給服務(wù)器。 服務(wù)器讀取原先保存在客戶(hù)端的信息為瀏覽者提供一服務(wù)器讀取原先保存在客戶(hù)端的信息為瀏覽者提供一系列的方便。系列的方便。避免重復(fù)輸入用戶(hù)名和密碼避免重復(fù)輸入用戶(hù)名和密碼門(mén)戶(hù)網(wǎng)站的主頁(yè)定制門(mén)戶(hù)網(wǎng)站的主頁(yè)定制有針對(duì)性地投放廣告有針對(duì)性地投放廣告第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)281 1、CookieCookie的使用方法的使用方法 (1)創(chuàng)建)創(chuàng)建Cookie對(duì)象對(duì)象對(duì)應(yīng)的構(gòu)造函數(shù):對(duì)應(yīng)的構(gòu)造函數(shù):注意:注意:Cookie對(duì)象的名稱(chēng)和值都不能包括這些字符:對(duì)象的名稱(chēng)和值都不能包括這些字符: ( ) = , “ / ? :例如:例如:Cookie c=new Cookie(“Username”,”zhangsan”);public Cookie(String name,String value);Cookie 的的名字名字Cookie 的的值值第08章 動(dòng)態(tài)動(dòng)態(tài)信息的存儲(chǔ)儲(chǔ)和訪(fǎng)問(wèn)訪(fǎng)問(wèn)WEB系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)統(tǒng)開(kāi)發(fā)與設(shè)計(jì)291 1、CookieCoo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 設(shè)備制造業(yè)稅收優(yōu)惠政策-深度研究
- 農(nóng)業(yè)面源污染控制-第3篇-深度研究
- 價(jià)值觀教育課程創(chuàng)新路徑-深度研究
- 物聯(lián)網(wǎng)芯片設(shè)計(jì)-深度研究
- 主體施工合同范本3
- 農(nóng)機(jī)委托租賃合同范本
- 加裝電梯居間服務(wù)合同范本
- 臨時(shí)合作合同范本模板
- 債權(quán)轉(zhuǎn)合同范本
- 串聯(lián)積木專(zhuān)利合同范本
- 北師大版二年級(jí)數(shù)學(xué)下冊(cè)各單元測(cè)試卷
- 品管圈PDCA改善案例-降低住院患者跌倒發(fā)生率
- GB/T 12996-2024電動(dòng)輪椅車(chē)
- 成人氧氣吸入療法-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)
- 西師版二年級(jí)數(shù)學(xué)下冊(cè)全冊(cè)課件【完整版】
- 環(huán)境空氣中臭氧的測(cè)定
- 第七章 化學(xué)物質(zhì)與酶的相互作用
- 機(jī)械畢業(yè)設(shè)計(jì)論文鋼筋自動(dòng)折彎?rùn)C(jī)的結(jié)構(gòu)設(shè)計(jì)全套圖紙
- 總體施工進(jìn)度計(jì)劃?rùn)M道圖
- 教科版四年級(jí)科學(xué)下冊(cè)教學(xué)計(jì)劃及進(jìn)度表(兩篇)
- 擊實(shí)試驗(yàn)EXCEL自動(dòng)計(jì)算表
評(píng)論
0/150
提交評(píng)論