HttpURLConnection 請(qǐng)求數(shù)據(jù)流的寫入(write)和讀取(read)_第1頁(yè)
HttpURLConnection 請(qǐng)求數(shù)據(jù)流的寫入(write)和讀取(read)_第2頁(yè)
HttpURLConnection 請(qǐng)求數(shù)據(jù)流的寫入(write)和讀取(read)_第3頁(yè)
HttpURLConnection 請(qǐng)求數(shù)據(jù)流的寫入(write)和讀取(read)_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(=1讀取(read)URLConnection類給應(yīng)用程序和web資源之間架設(shè)起了通信的橋梁,這些web資源通常是通過(guò)url來(lái)標(biāo)記的,本文將講述如何使用HttpURLConnection來(lái)訪問(wèn)web頁(yè)面(發(fā)送數(shù)據(jù)流)和讀取數(shù)據(jù)流。在Servlet中對(duì)于需要用post方式(get會(huì)暴露參數(shù))寫入?yún)?shù)的時(shí)候就用到了HttpURLConnection.請(qǐng)求的Servlet,也可以寫入main方法中進(jìn)行測(cè)試packagecom;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.lnputStreamReader;importjava.io.OutputStream;importjava.io.OutputStreamWriter;.HttpURLConnection;.URL;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;@SuppressWarnings("serial")publicclassIOServletextendsHttpServlet日El{申申/**卜*/卜*/申申publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException申申System.out.println("beginsend");I StringinputParam="<?xmlversion=\"1.0\"encoding=\"UTF-8\"?><page><username〉愛(ài)心天使</usernaem><age>26</age></page>";URLurl=null;HttpURLConnectionhttpConn=null;OutputStreamoutput=null;

OutputStreamWriteroutr=null;url=newURL(":8888/iotest/ReadServlet");httpConn=(HttpURLConnection)url.openConnection();HttpURLConnection.setFollowRedirects(true);httpConn.setDoOutput(true);httpConn.setRequestMethod("POST");httpConn.setRequestProperty("Content-Type","text/xml");httpConn.connect();output=httpConn.getOutputStream();outr=newOutputStreamWriter(output);//寫入請(qǐng)求參數(shù)outr.write(inputParam.toString().toCharArray(),0,inputParam.toString().length());outr.flush();outr.close();System.out.println("sendok");intcode=httpConn.getResponseCode();System.out.println("code"+code);System.out.println(httpConn.getResponseMessage());〃讀取響應(yīng)內(nèi)容StringsCurrentLine="";StringsTotalString="";申申卜申申if申申卜申申{java.io.lnputStreamis=httpConn.getInputStream();BufferedReaderreader=newBufferedReader(newInputStreamReader(is));while((sCurrentLine=reader.readLine())!=null)if(sCurrentLine.length()>0)sTotalString=sTotalString+sCurrentLine.trim();}else{sTotalString="遠(yuǎn)程服務(wù)器連接失敗,錯(cuò)誤代碼:"+code;}System.out.println("response:"+sTotalString);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

this.doGet(request,response);}ReadServlet(相當(dāng)于被請(qǐng)求的服務(wù)器):packagecom;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.ServletInputStream;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;@SuppressWarnings("serial")publicclassReadServletextendsHttpServlet日EE1{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException{System.out.println("beginread");ServletInputStreaminStream=request.getInputStream();//取HTTP請(qǐng)求流intsize=request.getContentLength();//取HTTP請(qǐng)求流長(zhǎng)度byte[]buffer=newbyte[size];//用于緩存每次讀取的數(shù)據(jù)Ibyte[]in_b=newbyte[size];//用于存放結(jié)果的數(shù)組Iintcount=0;intrbyte=0;//循環(huán)讀取申申II申申II申申I

卜I

卜{rbyte=inStream.read(buffer);//每次實(shí)際讀取長(zhǎng)度存于rbyte中sfljfor(inti=0;i<rbyte;i++){in_b[count+i]=buffer[i];}count+=rbyte;}System.out.println("result:"+newString(in_b,0,in_b.length));response.setContentType("text/html");//注意響應(yīng)中文數(shù)據(jù)時(shí)要設(shè)置response.setCharacterEncoding("GBK");PrintWriterout=response.ge

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論