




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)第4章 JSP內(nèi)置對(duì)象7/20/20221第1頁(yè),共80頁(yè)。第4章 JSP內(nèi)置對(duì)象為簡(jiǎn)化Web頁(yè)面的開(kāi)發(fā)過(guò)程,JSP提供了一些由服務(wù)器實(shí)現(xiàn)和管理的內(nèi)置對(duì)象,這些內(nèi)置對(duì)象在JSP頁(yè)面中不用聲明就可以使用。內(nèi)置對(duì)象是服務(wù)器JSP引擎自動(dòng)創(chuàng)建的Java類(lèi)實(shí)例通過(guò)存取這些內(nèi)置對(duì)象實(shí)現(xiàn)與JSP頁(yè)面和Servlet環(huán)境的相互訪問(wèn)。內(nèi)置對(duì)象可以實(shí)現(xiàn)很多功能,如從客戶端獲得數(shù)據(jù)、向客戶端發(fā)回?cái)?shù)據(jù)、控制傳輸數(shù)據(jù)的有效域和異常處理等。4.1 JSP內(nèi)置對(duì)象概述7/20/20222第2頁(yè),共80頁(yè)。內(nèi)置對(duì)象功能舉例說(shuō)明使用直接存取out對(duì)象來(lái)打印一些東西到客戶端: 借助請(qǐng)求對(duì)象來(lái)取得客戶端輸入的參數(shù)值:
2、 完成頁(yè)面的重定向: 在錯(cuò)誤頁(yè)面中顯示出錯(cuò)信息: 重新使用;改寄;改變投遞方向7/20/20223第3頁(yè),共80頁(yè)。JSP中的9種內(nèi)置對(duì)象與輸入/輸出有關(guān) 與屬性作用域有關(guān) 與Servlet 相關(guān) 與錯(cuò)誤處理有關(guān) 7/20/20224第4頁(yè),共80頁(yè)。4.2 與輸入/輸出有關(guān)的內(nèi)置對(duì)象 4.2.1 request對(duì)象 4.2.2 response對(duì)象 4.2.3 out對(duì)象7/20/20225第5頁(yè),共80頁(yè)。4.2.1 request對(duì)象1請(qǐng)求行 規(guī)定了請(qǐng)求的方法(如get、post、head、delete、put等),請(qǐng)求的資源和使用的HTTP協(xié)議版本號(hào)。2請(qǐng)求頭 請(qǐng)求頭主要說(shuō)明請(qǐng)求客戶的
3、主機(jī)IP、cookie 、信息體和附加信息。一個(gè)HTTP請(qǐng)求可以包括多個(gè)請(qǐng)求頭。3信息體 指請(qǐng)求的正文。如表單數(shù)據(jù)被封裝為信息體7/20/20226第6頁(yè),共80頁(yè)。4.2.1 request對(duì)象(續(xù))在JSP頁(yè)面中,使用內(nèi)置對(duì)象request可以查看HTTP請(qǐng)求報(bào)文中的這些信息。它是實(shí)現(xiàn) javax.servlet.HttpServletRequest 接口的類(lèi)的一個(gè)實(shí)例。 request 對(duì)象的方法有很多 ,從功能角度可以將這些方法分為4類(lèi): 取得請(qǐng)求參數(shù)的方法取得請(qǐng)求HTTP 頭的方法儲(chǔ)存和取得屬性方法其他的方法7/20/20227第7頁(yè),共80頁(yè)。1取得請(qǐng)求參數(shù)的方法 7/20/202
4、28第8頁(yè),共80頁(yè)。2.取得請(qǐng)求HTTP 頭的方法 7/20/20229第9頁(yè),共80頁(yè)。3儲(chǔ)存和取得屬性方法 7/20/202210第10頁(yè),共80頁(yè)。4其他的方法 7/20/202211第11頁(yè),共80頁(yè)。4其他的方法(續(xù)) 7/20/202212第12頁(yè),共80頁(yè)。request比較重要的方法 getParameter() getParameterNames() getParameterValues() getHeader() 記住噢7/20/202213第13頁(yè),共80頁(yè)。. 獲得客戶端提交的信息String getParameter(String name) 該方法用于獲取客戶端瀏
5、覽器傳遞(如:表單、param動(dòng)作指令)給服務(wù)器端由name指定的參數(shù)值。當(dāng)傳遞給此方法的參數(shù)名name沒(méi)有實(shí)際參數(shù)與之對(duì)應(yīng)時(shí),則返回null。7/20/202214第14頁(yè),共80頁(yè)。獲得客戶端提交的信息(續(xù)) 文本框提交的用戶名為: 客戶端提交的按鈕的名字為: exa3_1.jsp1.運(yùn)行2.調(diào)用3.執(zhí)行結(jié)果舉例:tree.jsp 7/20/202215第15頁(yè),共80頁(yè)。. 處理中文信息在例exa3_1.jsp中輸入中文時(shí)將不能正確顯示, 如圖所示:這就引發(fā)如何處理客戶端提交的中文問(wèn)題。7/20/202216第16頁(yè),共80頁(yè)。JSP頁(yè)面的漢字問(wèn)題主要指兩方面:JSP頁(yè)面中的漢字問(wèn)題表單
6、提交的漢字問(wèn)題7/20/202217第17頁(yè),共80頁(yè)。(1)JSP頁(yè)面的漢字問(wèn)題對(duì)于JSP頁(yè)面的漢字問(wèn)題,需要在JSP中使用page指令告訴客戶端漢字的編碼方式:在沒(méi)有特別指示下,瀏覽器無(wú)法正確顯示漢字,每個(gè)要顯示漢字的JSP頁(yè)面都應(yīng)該包含該語(yǔ)句。 7/20/202218第18頁(yè),共80頁(yè)。(2)表單提交的漢字問(wèn)題原因:客戶端和服務(wù)器交互過(guò)程中,在客戶端和服務(wù)器用的是GB2312對(duì)漢字編碼,而HTTP傳輸用ISO_8859_1編碼解決思想:不僅服務(wù)器端必須用指令指示客戶端漢字的顯示編碼,同時(shí)在服務(wù)器端接收到客戶端數(shù)據(jù)時(shí)需要將編碼轉(zhuǎn)換為GB2312后進(jìn)行處理7/20/202219第19頁(yè),共8
7、0頁(yè)。(2)表單提交的漢字問(wèn)題(續(xù))具體做法: 或 或 7/20/202220第20頁(yè),共80頁(yè)。. 類(lèi)型轉(zhuǎn)換問(wèn)題String getParameter(String name) 注意:request.getParameter方法獲取客戶端瀏覽器傳遞給服務(wù)器端由name指定的參數(shù)值類(lèi)型是字串型。有時(shí)輸入的信息是數(shù)字,并需要用于數(shù)字計(jì)算時(shí),要進(jìn)行類(lèi)型格式轉(zhuǎn)換7/20/202221第21頁(yè),共80頁(yè)。請(qǐng)輸入一個(gè)數(shù)字,計(jì)算其平方根: 7/20/202222第22頁(yè),共80頁(yè)。=0) r=Math.sqrt(number) ; out.print(+String.valueOf(number)+的平方
8、根:); out.print(+String.valueOf(r); else out.print(+請(qǐng)輸入一個(gè)正數(shù)); catch(NumberFormatException e) out.print(+請(qǐng)輸入數(shù)字字符); %Float.parseFloatInteger.parseInt7/20/202223第23頁(yè),共80頁(yè)。. 避免空指針異常例如: String textContent=request.getParameter(“tnumber”) 如果在JSP引擎運(yùn)行這個(gè)JSP頁(yè)面時(shí),客戶端還沒(méi)有提交數(shù)據(jù),textContent也還沒(méi)有創(chuàng)建,此時(shí)textContent對(duì)象為nulln
9、umber=Double.parseDouble(textContent)語(yǔ)句需要使用textContent,Java解釋器會(huì)提示出現(xiàn)空指針異常NullPointerException為了避免使用空對(duì)象,在JSP頁(yè)面中使用了如下代碼: if ( textContent=null ) textContent=100; 7/20/202224第24頁(yè),共80頁(yè)。. 其它常用方法getServletPath() getContentLength() getMethod() getHeader( )getProtocol() 7/20/202225第25頁(yè),共80頁(yè)。 Request對(duì)象獲得服務(wù)器端參
10、數(shù) request.getMethod(): request.getProtocol(): request.getServletPath(): request.getServerName(): request.getServerPort(): request.getRemoteUser(): request.getRemoteAddr(): request.getRemoteHost(): 正在使用的瀏覽器: 7/20/202226第26頁(yè),共80頁(yè)。. 獲取HTML表單中的各種數(shù)據(jù)表單 用戶登錄 用戶名:密碼:獲取方法:String textname=request.getParameter
11、(“User);String textpwd=request.getParameter(“pwd);(1)提取文本框和密碼框中數(shù)據(jù)7/20/202227第27頁(yè),共80頁(yè)。p詩(shī)人李清照是中國(guó)歷史上哪個(gè)朝代的人?宋朝唐朝明朝清朝史記的作者是誰(shuí)?曹雪芹羅貫中李白司馬遷您的了分(2)提取單選按鈕選擇的信息7/20/202228第28頁(yè),共80頁(yè)。select.jsp關(guān)鍵代碼:選擇計(jì)算和的方式 計(jì)算1到n的和 計(jì)算1到n的平方和 計(jì)算1到n的立方和請(qǐng)選擇n的值 n=10 n=20 n=30 n=40 n=50 n=100(3)提取列表框中選擇的信息sum.jsp關(guān)鍵代碼:% int sum=0; St
12、ring s1=request.getParameter(“select1); String s2=request.getParameter(“select2); int n=Integer.parseInt(s2); if(s1.equals(1) for(int i=1;i=n;i+) sum+=i; else if(s1.equals(2) for(int i=1;i=n;i+) sum+=i*i; else for(int i=1;i您的求和結(jié)果是7/20/202229第29頁(yè),共80頁(yè)。(4)提取復(fù)選按鈕組中選擇的信息7/20/202230第30頁(yè),共80頁(yè)。(4)提取復(fù)選按鈕組中選
13、擇的信息(續(xù))checkbox 選擇你喜歡的運(yùn)動(dòng): 足球 藍(lán)球 乒乓球 游泳 跑步 網(wǎng)球 7/20/202231第31頁(yè),共80頁(yè)。% request.setCharacterEncoding (gb2312);String itemName =request.getParameterValues(mylike); if (itemName=null) out.println(一個(gè)都不喜歡); else out.println(itemName.length=+itemName.length+); for(int k=0;k7/20/202232第32頁(yè),共80頁(yè)。4.2.2 response
14、對(duì)象當(dāng)客戶訪問(wèn)一個(gè)服務(wù)器的頁(yè)面時(shí),會(huì)提交一個(gè)HTTP請(qǐng)求,服務(wù)器接到請(qǐng)求時(shí)會(huì)返回HTTP響應(yīng)。HTTP 的報(bào)文結(jié)構(gòu)(響應(yīng)報(bào)文) 版 本狀態(tài)碼短 語(yǔ)首部字段名首部行:值首部字段名值:實(shí)體主體(有些響應(yīng)報(bào)文不用)狀態(tài)行空格回車(chē)換行:CRLFCRLFCRLFCRLF7/20/202233第33頁(yè),共80頁(yè)。 response對(duì)象代表的是對(duì)客戶端的響應(yīng),其功能是將服務(wù)器處理后的結(jié)果傳回到客戶端,響應(yīng)客戶請(qǐng)求。response響應(yīng)是實(shí)現(xiàn)javax.servlet.HttpServletResponse接口的類(lèi)的一個(gè)實(shí)例。7/20/202234第34頁(yè),共80頁(yè)。response對(duì)象的方法:設(shè)定響應(yīng)狀態(tài)碼
15、的方法設(shè)定表頭的方法用來(lái)URL 重寫(xiě)的方法其它方法7/20/202235第35頁(yè),共80頁(yè)。設(shè)定表頭的方法 7/20/202236第36頁(yè),共80頁(yè)。設(shè)定響應(yīng)狀態(tài)碼的方法 7/20/202237第37頁(yè),共80頁(yè)。用來(lái)URL重寫(xiě)的方法 7/20/202238第38頁(yè),共80頁(yè)。其 它 方 法 7/20/202239第39頁(yè),共80頁(yè)。response重要方法response對(duì)象中使用較多的方法是:setContentType()setHeader()sendRedirect()setStatus() 7/20/202240第40頁(yè),共80頁(yè)。. 動(dòng)態(tài)設(shè)置MIME類(lèi)型在page指令中的conte
16、ntType屬性用來(lái)指定response對(duì)象響應(yīng)客戶端請(qǐng)求的MIME(Multipurpose Internet Mail Extension protocol,多用途網(wǎng)際郵件擴(kuò)充協(xié)議)類(lèi)型。 page指令只能為contentType指定一個(gè)值,如果想動(dòng)態(tài)地改變這個(gè)屬性的值來(lái)以各種不同的方式做出響應(yīng),就要使用response對(duì)象的setContentType()方法改變contentType的值。一旦這個(gè)屬性值被改變,服務(wù)器就將按照新的MIME類(lèi)型做出響應(yīng) 。7/20/202241第41頁(yè),共80頁(yè)。contentType屬性和MIME類(lèi)型的對(duì)應(yīng)關(guān)系 7/20/202242第42頁(yè),共80頁(yè)。
17、 學(xué)習(xí)response對(duì)象的setContentType方法的使用 要將當(dāng)前頁(yè)面保存為.TXT文件嗎? 程序運(yùn)行后,單擊“是”按鈕彈出“保存”對(duì)話框7/20/202243第43頁(yè),共80頁(yè)。. response對(duì)象的http頭response對(duì)象可以使用addHeader()和setHeader()方法動(dòng)態(tài)添加和修改相應(yīng)頭的值,并將這些頭發(fā)送給客戶端。下面例response對(duì)象添加一個(gè)頭refresh,使客戶端在顯示該頁(yè)面時(shí),每5秒鐘刷新一次?,F(xiàn)在的時(shí)間是:7/20/202244第44頁(yè),共80頁(yè)。. response重定向下面例中,客戶填寫(xiě)表單,并提交給tree4.jsp頁(yè)面。如果表單填寫(xiě)不
18、完整,tree4.jsp會(huì)重新定向到填寫(xiě)頁(yè)面,否則顯示歡迎字樣填寫(xiě)姓名7/20/202245第45頁(yè),共80頁(yè)。. response重定向(續(xù))7/20/202246第46頁(yè),共80頁(yè)。. response的狀態(tài)行當(dāng)服務(wù)器響應(yīng)客戶端請(qǐng)求時(shí),它發(fā)送的首行被稱(chēng)為狀態(tài)行。狀態(tài)行包括3位數(shù)字的狀態(tài)碼和對(duì)狀態(tài)碼的簡(jiǎn)單描述。1xx主要是試驗(yàn)性質(zhì)的;2xx表示請(qǐng)求成功;3xx表示在請(qǐng)求在滿足之前應(yīng)進(jìn)一步采取的行動(dòng);4xx表示服務(wù)器無(wú)法滿足要求;5xx服務(wù)器出現(xiàn)錯(cuò)誤。7/20/202247第47頁(yè),共80頁(yè)。狀態(tài)代碼表7/20/202248第48頁(yè),共80頁(yè)。狀態(tài)代碼表7/20/202249第49頁(yè),共80頁(yè)
19、。 點(diǎn)擊下面的超鏈接: 第一個(gè)頁(yè)面不歡迎你 第二個(gè)頁(yè)面歡迎你 第三個(gè)頁(yè)面不歡迎你 bird1.jsp bird2.jsp bird3.jsp7/20/202250第50頁(yè),共80頁(yè)。4.2.3 out對(duì)象out對(duì)象是一個(gè)輸出流,表示向客戶端發(fā)送數(shù)據(jù),通過(guò)out對(duì)象發(fā)送的內(nèi)容將是瀏覽器需要顯示的內(nèi)容,是文本一級(jí)的。通過(guò)out對(duì)象直接向客戶端寫(xiě)一個(gè)由程序動(dòng)態(tài)生成HTML文件。out對(duì)象是javax.servlet.jsp.JspWriter類(lèi)的一個(gè)實(shí)例。7/20/202251第51頁(yè),共80頁(yè)。out對(duì)象重要方法 JSP允許通過(guò)page指令的buffer屬性調(diào)整out對(duì)象緩存的大小,甚至允許關(guān)閉緩
20、存。7/20/202252第52頁(yè),共80頁(yè)。 % out.println(); out.println(); out.println(); out.println(+姓名+); out.println(+性別+); out.println(+年齡+); out.println(); out.println(); out.println(+張三豐+); out.println(+男+); out.println(+50+); out.println(); out.println(+劉東東+); out.println(+男+); out.println(+35+); out.println()
21、; out.println(); out.println(); % 例:用out對(duì)象輸出表格,運(yùn)行結(jié)果如圖所示 7/20/202253第53頁(yè),共80頁(yè)。關(guān)鍵代碼:BufferSize : Available : Used : 例:顯示目前緩沖區(qū)的大小 。運(yùn)行結(jié)果如圖所示 7/20/202254第54頁(yè),共80頁(yè)。4.3與屬性作用域有關(guān)的對(duì)象3.3.1 session對(duì)象3.3.2 application對(duì)象3.3.3 pageContext對(duì)象7/20/202255第55頁(yè),共80頁(yè)。4.3.1 session對(duì)象從一個(gè)客戶打開(kāi)瀏覽器連接到服務(wù)器開(kāi)始,到客戶關(guān)閉瀏覽器離開(kāi)這個(gè)服務(wù)器結(jié)束(期間
22、客戶訪問(wèn)的是同一個(gè)WEB目錄中的頁(yè)面),被稱(chēng)為一個(gè)會(huì)話。一個(gè)客戶訪問(wèn)服務(wù)器時(shí),可能會(huì)在這個(gè)服務(wù)器的幾個(gè)頁(yè)面之間反復(fù)連接,反復(fù)刷新一個(gè)頁(yè)面或不斷向一個(gè)頁(yè)面提交信息等。如在線商店購(gòu)物時(shí) ,當(dāng)我們把不同頁(yè)面的商品分別加入購(gòu)物車(chē)時(shí),服務(wù)器如何才能知道車(chē)?yán)镌扔行┦裁矗慨?dāng)用戶從選擇商品的頁(yè)面轉(zhuǎn)到輸入信用卡號(hào)和送達(dá)地址的頁(yè)面,服務(wù)器如何才能記住用戶買(mǎi)了些什么?HTTP是無(wú)狀態(tài)(stateless)協(xié)議。7/20/202256第56頁(yè),共80頁(yè)。解決方法:Session/Cookie :利用Session/Cookie對(duì)象來(lái)存儲(chǔ)有關(guān)會(huì)話的信息,后繼的各個(gè)連接可以查看當(dāng)前Session/Cookie,提取有關(guān)
23、該會(huì)話的完整信息。 重寫(xiě)URL :如果客戶端不支持Cookie,服務(wù)器無(wú)法將session ID寫(xiě)到客戶端。服務(wù)器無(wú)法識(shí)別同一個(gè)客戶端。解決該問(wèn)題的有效方法是URL重寫(xiě)技術(shù)。 即:把一些標(biāo)識(shí)會(huì)話的數(shù)據(jù)附加到每個(gè)URL的后面,服務(wù)器能夠把該會(huì)話標(biāo)識(shí)和它所保存的會(huì)話數(shù)據(jù)關(guān)聯(lián)起來(lái)。 隱藏表單域 :通過(guò)表單的隱藏域維持會(huì)話HttpSession API : 是一個(gè)基于Cookie或者URL重寫(xiě)機(jī)制的高級(jí)會(huì)話狀態(tài)跟蹤接口。如果瀏覽器支持Cookie,則使用Cookie;如果瀏覽器不支持Cookie或者Cookie功能被關(guān)閉,則自動(dòng)使用URL重寫(xiě)方法。7/20/202257第57頁(yè),共80頁(yè)。在服務(wù)器端,
24、系統(tǒng)JSP引擎為該客戶創(chuàng)建了一個(gè)session對(duì)象,在客戶端,系統(tǒng)為該客戶創(chuàng)建了Cookie對(duì)象。session對(duì)象是javax.servlet.http.HttpSession類(lèi)的一個(gè)實(shí)例 ,session對(duì)象使同一用戶在訪問(wèn)Web站點(diǎn)時(shí)多個(gè)頁(yè)面間共享信息。服務(wù)器完全可以通過(guò)session對(duì)象知道這是同一個(gè)客戶。同一個(gè)客戶訪問(wèn)服務(wù)器中不同Web目錄時(shí),JSP引擎為該客戶創(chuàng)建不同的session對(duì)象7/20/202258第58頁(yè),共80頁(yè)。當(dāng)JSP引擎為客戶創(chuàng)建一個(gè)session對(duì)象后,這個(gè)session對(duì)象被分配了一個(gè)String類(lèi)型的ID號(hào),JSP引擎同時(shí)將此ID號(hào)發(fā)送到客戶端,存放在Co
25、okie中。同一客戶會(huì)話的session對(duì)象和Cookie對(duì)象建立了一一對(duì)應(yīng)關(guān)系。即,每一客戶會(huì)話信息保存在session/Cookie對(duì)中。當(dāng)用戶再次訪問(wèn)連接該服務(wù)器的其他頁(yè)面時(shí),就不再分配給用戶新的session對(duì)象直到關(guān)閉瀏覽器后,服務(wù)器端該用戶的session對(duì)象才取消,并且和用戶的對(duì)應(yīng)關(guān)系也取消 session對(duì)象與Cookie對(duì)象7/20/202259第59頁(yè),共80頁(yè)。session對(duì)象與Cookie對(duì)象(續(xù))存儲(chǔ)位置不同Session對(duì)象保存在服務(wù)器內(nèi)存中Cookie對(duì)象保存在客戶端計(jì)算機(jī)硬盤(pán)中生存期不同Session對(duì)象客戶關(guān)閉瀏覽器或會(huì)話失效時(shí)消失Cookie對(duì)象一直保存在
26、客戶端計(jì)算機(jī)硬盤(pán)中,或用setMaxAge()設(shè)置7/20/202260第60頁(yè),共80頁(yè)。session對(duì)象與Cookie對(duì)象(續(xù))安全性Session對(duì)象安全性高Cookie對(duì)象安全性差實(shí)現(xiàn)方式Session對(duì)象記錄會(huì)話的持續(xù)過(guò)程,直至?xí)捊K止Cookie對(duì)象在后繼的請(qǐng)求中由客戶端發(fā)送給服務(wù)器,以確定用戶的身份7/20/202261第61頁(yè),共80頁(yè)。session對(duì)象的主要方法 7/20/202262第62頁(yè),共80頁(yè)。. session對(duì)象的ID標(biāo)識(shí) 您在訪問(wèn)id.jsp頁(yè)面 您的session對(duì)象的ID是: FORM action= method=post name=form 7/2
27、0/202263第63頁(yè),共80頁(yè)。 你在訪問(wèn)liu頁(yè)面 您的session對(duì)象的ID是: 單擊超連接,連接到wang頁(yè)面 A HREF= 歡迎到wang頁(yè)面來(lái)!7/20/202264第64頁(yè),共80頁(yè)。 你在訪問(wèn)file頁(yè)面 您的session對(duì)象的ID是: 單擊超連接,返回到ID頁(yè)面 歡迎到ID頁(yè)面來(lái)! 7/20/202265第65頁(yè),共80頁(yè)。. 在會(huì)話對(duì)象中保存數(shù)據(jù)保存和獲得session對(duì)象中的數(shù)據(jù)是JSP頁(yè)面常做的工作,需要使用getAttribute()和setAttribute()方法。書(shū)上例子4-7在session對(duì)象中保存數(shù)據(jù)num,這樣服務(wù)器可以告訴客戶他訪問(wèn)該頁(yè)面一共多
28、少次,只要客戶不關(guān)閉瀏覽器。刷新13次后運(yùn)行結(jié)果如圖所示。 這是第 次訪問(wèn)該頁(yè)面7/20/202266第66頁(yè),共80頁(yè)。例:main.jsp輸入您的姓名: 歡迎訪問(wèn)站點(diǎn),請(qǐng)到購(gòu)書(shū)頁(yè)面選擇書(shū)籍 進(jìn)入購(gòu)書(shū)頁(yè)面 7/20/202267第67頁(yè),共80頁(yè)。7/20/202268第68頁(yè),共80頁(yè)。7/20/202269第69頁(yè),共80頁(yè)。4.3.2 application對(duì)象application對(duì)象負(fù)責(zé)提供應(yīng)用程序在服務(wù)器中運(yùn)行時(shí)的一些全局信息。服務(wù)器啟動(dòng)時(shí)就創(chuàng)建一個(gè)application對(duì)象,不同客戶在該服務(wù)器的各個(gè)頁(yè)面之間鏈接時(shí),共享使用同一個(gè)application對(duì)象,直到服務(wù)器關(guān)閉該對(duì)象才
29、消失。 7/20/202270第70頁(yè),共80頁(yè)。例. 用application對(duì)象制作留言板客戶在submit.jsp中輸入姓名、留言標(biāo)題和留言?xún)?nèi)容。這些信息提交給messagePane.jsp。該頁(yè)面將客戶信息存入向量,并將向量存放在application對(duì)象中。當(dāng)查看留言板時(shí),showMessage.jsp負(fù)責(zé)從application對(duì)象中取出向量,并遍歷向量顯示其中的所有留言。7/20/202271第71頁(yè),共80頁(yè)。 輸入您的名字: 輸入您的留言標(biāo)題: 輸入您的留言: 例子:submit.jsp7/20/202272第72頁(yè),共80頁(yè)。 例子: messagePane.jspserv
30、let中,application是當(dāng)前pageContext所得到的servletContext的對(duì)象引用。 servletContext接口是Servlet中最大的一個(gè)接口,呈現(xiàn)了web應(yīng)用的Servlet視圖。ServletContext實(shí)例是通過(guò) getServletContext()方法獲得的 7/20/202273第73頁(yè),共80頁(yè)。 % String name=request.getParameter(peopleName); String title=request.getParameter(Title); String messages=request.getParameter(messages); if(name=null) name=guest+(int)(Math.random()*10000); if(title=null) title=無(wú)標(biāo)題; if(messages=null) messages=無(wú)信息; String s=Name:+name+#+Title:+title+#+Content:+messages; sendMessage(s); out.print(您的信息已經(jīng)提交!); % 返回 例子:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中生物課時(shí)作業(yè)七酶的制備和應(yīng)用含解析蘇教版選修1
- 2024-2025學(xué)年高中物理第7章機(jī)械能守恒定律第7節(jié)動(dòng)能和動(dòng)能定理課時(shí)分層訓(xùn)練新人教版必修2
- 2025年色素素庫(kù)緞行業(yè)深度研究分析報(bào)告
- 2022-2027年中國(guó)汽車(chē)活塞行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及投資前景展望報(bào)告
- 中國(guó)膠合板設(shè)備行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略咨詢(xún)報(bào)告
- 采暖換熱站補(bǔ)水泵頻繁啟動(dòng)檢查報(bào)告
- 2024-2030年中國(guó)北京酒店行業(yè)發(fā)展監(jiān)測(cè)及投資前景展望報(bào)告
- 烙花簾行業(yè)深度研究報(bào)告
- 電力科技產(chǎn)業(yè)園項(xiàng)目申請(qǐng)可行性研究報(bào)告
- 企業(yè)展廳立項(xiàng)報(bào)告模板
- 智能人體秤市場(chǎng)需求分析報(bào)告
- 2023新北師大版高中英語(yǔ)選擇性必修三全冊(cè)課文翻譯(英漢對(duì)照)
- 設(shè)備采購(gòu)供貨安裝實(shí)施方案
- 初中生物《病毒》說(shuō)課課件
- 國(guó)網(wǎng)考試企業(yè)文化能源與戰(zhàn)略題庫(kù)
- 智聯(lián)招聘行測(cè)題庫(kù)2023
- 小工考勤表記工模板
- 【英語(yǔ)詞匯】閩教版(三起點(diǎn))小學(xué)英語(yǔ)單詞默寫(xiě)表(帶音標(biāo)按順序)(全8冊(cè))
- 編輯學(xué)概論-課件
- 理發(fā)店個(gè)人門(mén)面轉(zhuǎn)讓合同
- 03J111-1 輕鋼龍骨內(nèi)隔墻
評(píng)論
0/150
提交評(píng)論