![實驗2-Http請求匯總_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/12/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b1.gif)
![實驗2-Http請求匯總_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/12/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b2.gif)
![實驗2-Http請求匯總_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/12/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b3.gif)
![實驗2-Http請求匯總_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/12/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b4.gif)
![實驗2-Http請求匯總_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/12/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b/b4b1b4cd-ccb1-4ce1-aa1d-482cdec2820b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗2 HTTP請求對象一、實驗?zāi)康?. 掌握如何獲得請求參數(shù);2. 掌握如何檢索請求頭;3. 了解如何通過請求對象獲得客戶信息;4. 重點掌握使用請求對象存儲數(shù)據(jù)和請求轉(zhuǎn)發(fā)。二、實驗原理對客戶的請求,容器根據(jù)請求調(diào)用Servlet的相應(yīng)doXxx()方法,該方法帶有兩個參數(shù),一個是 HttpServletRequest,個是HttpServletResponse,它們分別表示請求對象和響應(yīng)對象, 它們是容器自動創(chuàng)建的兩個對象。可以使用這兩個接口定義的若干方法完成有關(guān)操作。三、實驗內(nèi)容與步驟(一)通過查詢串傳遞請求參數(shù),并在Servlet中檢索請求參數(shù)【步驟1】編寫下面的Servletopac
2、kage cn. edu.servlet.request;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloUserServlet exte nds HttpServletpublic void service(HttpServletRequest request,HttpServletResp onse resp onse) throws ServletExcepti on, I OExceptio nString userName = request.getParame
3、ter(userName);Prin tWriter pw = resp on se.getWriter();pw.pri ntl n( );pw.pri ntln ();pw.pri ntln ();pw.pri ntln ();pw.pri ntln (Hello, + userName + );pw.pri ntl n(/body);pw.pri ntln( );【步驟2】在MyEcipse下查看web.xml文件,關(guān)鍵代碼如下:HelloUserServletc n. edu.servlet.request.HelloUserServle HelloUserServlet/myHell
4、oUserServlet 【步驟3】使用下面的URL訪問之。h卄 p:/localhost:8080/prac02_request/myHellol JserServlet?userName=tom再Pack窩b Hiera 1=1 口效果:愛My Eclipse Java Ent中 ri磚-MyEdipse Web BrDw&er - MyEclipse Ent 中 ri se Wa dkbencl.菩 src曲 tmedu占crvlet|UE1 JRE System Library u Java EE 5 Libraries-WebRootB META-INF WEB-INF3 Fit)時
5、 webjcml indexujsp將userName的值改為你自己的名字(不要使用漢字),看輸出結(jié)果。若不給出查詢字 符串,結(jié)果如何?參數(shù)值使用漢字如何?將userName的值改為自己的名字(不使用漢字)結(jié)果如下:lips-e Jav-a EntSpriM -Wb Bitwraer - IWyEcSpsd! Enterprise Workbpj q心電也口注l-H-lnHim | 口* .蘭 pradJ2.request,it iFK.edu.5PrvlffLrtqwe , iHeiloU-serSfirvlel JRE System libry LS SA Javd EE 5 LibF-a
6、n 白 WebAjQE& MEIA4NF-WEB-ENF 吉Kb 諦 webjomlf indexj-5.p*一 JrTdiEaXfci Eiwp u a回遽虞IE *OulJiiw 滋、Art QyrHint if nort .vvilablii- Rropeniss 涼內(nèi) opsnyVilutFile Edit Navigate Sea rchi Project MyEclipse Ruim Mndow HdpY* pracO2_requt若不給出查詢字符串結(jié)果如下:I = jrSenHeirary JriesElhttp/lp clhot: BOBO/pr* cO2_req uef/my
7、HdloUrvlet”1.6 *Hello, null參數(shù)值使用漢字結(jié)果如下: 回 JT 工寸 iJT:O Wfl 町Jitdipse V;eb Frow金r 涼 T| *HeJIoUserServfetjava.x* wrb.xmlhttp:/1jlhQtM9O/pr#tO2#qu&t/mbHC3Ugr&evltt; * T -; IHellot張晉鵬從該實驗可知盡管未對resp onse對象進行轉(zhuǎn)碼操作,但還是可以正確顯示中文。(二)通過表單傳遞請求參數(shù),使用HttpServletRequest對象獲得請求參數(shù)【步驟1】首先編寫一個input.html文件,存放在helloapp目錄中。該
8、頁面在屏幕上顯 示一個表單,其中包括姓名和年齡域,點擊確定”按鈕后,將表單參數(shù)傳遞給 ParamServlet并顯示出來。input.html代碼如下: 參數(shù)傳遞 從表單向Servlet傳遞參數(shù)vform method=GET action=paramtest 姓名: 年齡: 【步驟2】編寫ParamServlet.java,其代碼如下:package cn. edu.servlet.request;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public clas
9、s ParamServlet exte nds HttpServlet public void doGet(HttpServletRequest request, HttpServletResp onse resp on se) throws ServletExcepti on, I OExceptio nresp on se.setCharacterE ncodi ng(UTF-8);resp on se.setC onten tType(text/html;charset= UTF-8);String n ame = request.getParameter(” name);name =
10、new String(name.getBytes(iso8859-1), UTF-8);String age = request.getParameter(age);Prin tWriter pw = resp on se.getWriter();pw.pri ntl n( );pw.pri ntln ();pw.pri ntln ();pw.pri ntl n();pw.println( 姓名:+name+);pw.println( 年齡:+age+);pw.pri ntl n();pw.pri ntln( );public void doPost(HttpServletRequest re
11、quest, HttpServletResp onse resp on se) throws ServletExcepti on, I OExceptio ndoGet(request, resp on se);【步驟3】查看web.xml文件,關(guān)鍵代碼如下:ParamServletc n. edu.servlet.request.ParamServletParamServlet/myParamServlet【步驟4】測試參數(shù)傳遞。在瀏覽器的地址欄中輸入:http:/localhost:8O8O/prac02 request/input.html。輸入數(shù)據(jù):點擊確定” 按鈕: 體會表單參數(shù)的傳
12、遞。測試過程如下:Edipt4 J4M1* Ent郵rp屁S Web 氐*時 MyEclipf# Entrpriw Wijrkbfnch屋PKk舄 住Hitra由遵回* :舍*甲X* lATtb.XTYliQ hAyEdipEt W*b Bro*?*.日J(rèn) 豐 pc-BcOS.OZ*-藥 srtJ 曲 .ieivletf-e* Pa ramServlet.MlpV/localho56:e090/prac02_02/h!laappAnput,lMniJ從表單向馳rvlet傳遞爭數(shù)L J RE ystei*i Library Java EE 5 Libranes JI 白 WebRp
13、t 白 helloapp 0 META-3NF& WE&4NFind上環(huán)p / pracli2_Fequet j* ire姓容:z*iai*ginpflng 年酣:竹MS甦逢 Imdg 空 21d Smipp$邂旦聲冋;SI -Propsrty Valure上 Problfrms 縣 Tmk芋 Wb Bcowscr 8 Goiwoht 應(yīng).ift Srwins.j 暫rvf r* RemqlC4rC 1a g1.: Starting CociEft3 曲 ajt-60092QL-3-L7 E : 51 org. ep-ache.cfi.zal2n.Et.s.arcup.匚ara.:L:i:ia
14、. jcarc 信息::Se r acarcup in 426 nsIIIWindow HelpSt即File Edr! Navigate Search Project MEclipe測試結(jié)果: 甌先 試亙?nèi)ぞW(wǎng)皚磁網(wǎng)站仃 t 判UB馳邑手m溯E t MM GJWtbOQ DO芒西4加悻ttfit芋TB brtenwt Explofer - m尊k掃源丐蠱遊無至姣匿http:川jcdhshEEW-.,-沾Inttmrt E昭I口中的或認(rèn)設(shè)霰在已炯Intranet iSSr呼壬加1春更雰翻.姓名:zhangjinpeng年齡粘19問題1:如何通過超鏈接的錨標(biāo)簽( )傳遞請求參數(shù)?用getget方式
15、提交表單,形式如下(三) 編寫一個 Servlet,顯示所有請求頭【步驟1】ShowHeadersServlet.java的Servlet能夠檢索所有的請求頭,代碼如下: package cn. edu.servlet.request;import java.io.*;import java.util.*;import javax.servlet.*;import javax.servlet.http.*;public class ShowHeadersServlet exte nds HttpServlet public void doGet(HttpServletRequest B Pff
16、dpFtiM 亦prflicfl2_DJ/imyPiiriir 園 I V : ItKfllhost =19 Window* ntcrnct ExpJQrCr/ffljrParam&eirvletMne-zhargijinpeifigi8ca-ge = 19request, HttpServletResp onse resp onse) throws ServletExcepti on, I OExceptio nresp on se.setC onten tType(text/html;charset=gb2312);Prin tWriter out = resp on se.getWrit
17、er();out.pri ntln( );out.pri ntln( AII Headers);out.pri ntl n(/head);out.pri ntln( );out.println(All Request Headers);out.println(n+n+Header NameHeader Value);Enu merati on headerNames = request.getHeaderNames(); while(headerNames.hasMoreEleme nts()Stri ng headerName = (Stri ng)headerNames. nextElem
18、e nt();out.pri ntln (+headerName);out.pri ntl n(+request.getHeader(headerName);out.pri ntl n( n);public void doPost(HttpServletRequest request, HttpServletResp onse resp on se)throws ServletExcepti on, I OExceptio n doGet(request, resp on se);【步驟2】修改web.xml,加入下面內(nèi)容:ShowHeadersServletc n. edu.ShowHead
19、ersServletShowHeadersServlet/myShowHeadersServlet【步驟3】在瀏覽器地址欄中輸入下面URL訪問該Servlethttp:/localhost:8080/prac02_03/myShowHeadersServlet實驗效果如下:書 webjcml ShoyvHeadef&Sefvt-Et.javahttp:/loca llro5t;060/prac0!2,03/rnyShowfira dersScrvlet二AIT Request HetKlers:llezider NanEHeadeir Vnliic:acceptapp 1 i cat ion/
20、K-SD sapp licat IQQ3 icnage/jpeg, supp lie at iQn.xiaalimage / gi f?LQsage/pjpey, application- x-ms-xbap application/md m.s-excelP applicat Lon/vnd. ES- pow-srpoinr, appLi亡nt ion.zntfords */+aceept- languag?sh-Cua-cpuAMD&4accept- encGdinggzip,. deflateuser-ageni:Wozilla/5. 0 (Windows NT 6. 1; Win.64
21、; x64: Trident/7. 0; rv1L. 0) Like GtekohostlocalhostzSOBOconnectionKeep-AlivecookieJSESSIOSID=75IB55753019S014EE17F1C4DFA5FSA6(四) 簡單的綜合應(yīng)用【步驟1】創(chuàng)建一個名為input.html的HTML頁面,其中包括一個表單,表單中包含兩 個文本域,分別供用戶輸入學(xué)號和姓名,該頁面也包含提交和重置按鈕?!静襟E2】定義一個名為com.demo.Student類,其中包括學(xué)號sno和姓名name兩個private 的成員變量,定義訪問和修改sno和name的方法。【步驟3】
22、編寫名為FirstServlet的Servlet,要求當(dāng)用戶在input.html中輸入信息后點擊提交”按鈕,請求 FirstServlet對其處理。在 FirstServlet中使用表單傳遞的參數(shù)(學(xué)號和 姓名)創(chuàng)建一個 Stude nt對象并將其作為屬性存儲在請求對象中,然后獲得通過請求對象的 getRequestDispatcher()方法獲得 RequestDispatcher()對象,將請求轉(zhuǎn)發(fā)到SecondServlet。【步驟4】在SecondServlet中取出請求對象上存儲的Student對象,并顯示輸出該學(xué)生的學(xué)號和姓名。在SecondServlet的輸出中應(yīng)該包含一個超鏈接,點擊該連接可以返回input.html 頁面。實驗效果:I 0 閘,田甲乖沖吐Bro-ser X圖2.1 input.html頁面顯示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手房交易保障資金協(xié)議
- 2025年雙方自愿解除勞動合同書范例
- 2025年信用卡還款授權(quán)服務(wù)合同
- 2025年中國物流服務(wù)提供商戰(zhàn)略合作協(xié)議
- 海運客運合同法律體系2025年分析
- 2025年企業(yè)債評級擔(dān)保合同標(biāo)準(zhǔn)格式
- 2025年創(chuàng)新知識產(chǎn)權(quán)合資企業(yè)協(xié)議
- 2025年房產(chǎn)遺產(chǎn)繼承人與遺囑執(zhí)行人策劃協(xié)議
- 2025年伙伴間的房產(chǎn)共有合同規(guī)范
- 2025年企業(yè)股權(quán)交易合同樣本(官方版)
- 動物檢疫技術(shù)-動物檢疫處理(動物防疫與檢疫技術(shù))
- 英語經(jīng)典口語1000句
- PDCA案例降低心臟介入手術(shù)并發(fā)癥
- 完整,滬教版小學(xué)四年級英語上冊單詞表
- 全國教育科學(xué)規(guī)劃課題申請書
- 《大國崛起》讀書筆記思維導(dǎo)圖PPT模板下載
- 給料機和干灰散裝機檢修工藝規(guī)程
- 中國慢性膽結(jié)石膽囊炎診療共識
- 藍(lán)色創(chuàng)意學(xué)校開學(xué)工作會議PPT模板
- GB/T 6682-2008分析實驗室用水規(guī)格和試驗方法
- 《中國商貿(mào)文化》1.1商業(yè)簡史
評論
0/150
提交評論