<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 開(kāi)發(fā)MIDP聯(lián)網(wǎng)應(yīng)用程序

          開(kāi)發(fā)MIDP聯(lián)網(wǎng)應(yīng)用程序

          作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          importjavax.microedition.io.Connector;

          importjavax.microedition.io.HttpConnection;

          importjavax.microedition.midlet.MIDlet;

          importjavax.microedition.midlet.MIDletStateChangeException;

          /**

          *利用GET發(fā)送request的sample

          *從控制臺(tái)輸出response

          */

          publicclassGETTestextendsMIDlet{

          /**

          *訪問(wèn)服務(wù)器

          */

          protectedvoidstartApp()throwsMIDletStateChangeException{

          try{

          HttpConnectioncon=(HttpConnection)Connector.open(http://www.nec-mfriend.com/en/);

          //指定GET

          con.setRequestMethod(HttpConnection.GET);

          DataInputStreamin=con.openDataInputStream();

          intinput;

          while((input=in.read())!=-1){

          System.out.print((char)input);

          }

          in.close();

          //關(guān)閉鏈接

          con.close();

          }catch(IOExceptione){

          e.printStackTrace();

          }

          }

          protectedvoidpauseApp(){

          }

          protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{

          }

          }

          ex.4

          實(shí)際操作后的結(jié)果。

          1.6.利用HEAD

          接下來(lái)介紹如何利用HEAD方法獲取文件的header。多數(shù)情況下,在HTTPheader中,包含了文件種類(lèi)、尺寸大小、文字編碼、回復(fù)日期、request文件的最后修改時(shí)間、以及兌現(xiàn)期限的截止日期等。一般來(lái)講,使用HEAD方法檢查其是否對(duì)兌現(xiàn)內(nèi)容進(jìn)行了新信息的替換。

          為使用HEAD,如下所示要在作成的HttpConnection的setRequestMethod方法中,指定HttpConnection的static變量HEAD。

          HttpConnectioncon=(HttpConnection)Connector.open(http://www.nec-mfriend.com/en/);

          con.setRequestMethod(HttpConnection.HEAD);

          獲取HEAD信息的方法。

          360截圖20120507114150638.jpg

          表3

          下面是利用getHeaderField方法和getHeaderFieldKey方法,獲取全部header信息的sample。這個(gè)sample與剛才所介紹的一樣,是以在模擬器上進(jìn)行操作為前提而作成的,它只用于說(shuō)明,實(shí)際操作還沒(méi)有進(jìn)行測(cè)定。由此獲取的全部header信息內(nèi)容將輸入控制臺(tái)。

          importjava.io.IOException;

          importjavax.microedition.io.Connector;

          importjavax.microedition.io.HttpConnection;

          importjavax.microedition.midlet.MIDlet;

          importjavax.microedition.midlet.MIDletStateChangeException;

          /**

          *利用HEAD發(fā)送request的sample

          *從控制臺(tái)輸出response

          */

          publicclassHEADTestextendsMIDlet{

          /**

          *顯示header信息

          */

          protectedvoidstartApp()throwsMIDletStateChangeException{

          try{

          HttpConnectioncon=

          (HttpConnection)Connector.open(http://www.nec-mfriend.com/en/);

          //指定HEAD

          con.setRequestMethod(HttpConnection.HEAD);

          //取得關(guān)鍵的HTTPheader信息——成對(duì)的值

          inti=0;

          Stringmessage=;

          Stringkey=;

          Stringvalue=;

          while((value=con.getHeaderField(i))!=null){

          key=con.getHeaderFieldKey(i++);

          message=message+key+:+value+n;

          }

          System.out.println(message);

          //關(guān)閉鏈接

          con.close();

          }catch(IOExceptione){

          e.printStackTrace();

          }

          }

          protectedvoidpauseApp(){

          }

          protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{

          }

          }

          ex.5

          實(shí)際操作后的結(jié)果如下所示。

          圖3

          1.7.利用POST

          為能利用POST發(fā)送request,要使用InputStream和OutputStream。用OutputStream向服務(wù)器發(fā)送數(shù)據(jù),而InputStream則接收來(lái)自服務(wù)器的response。

          用下述方法指定POST。

          HttpConnectioncon=(HttpConnection)Connector.open(http://www.yahoo.com);

          con.setRequestMethod(HttpConnection.POST);

          ex.6

          如下所示使用OutputStream在requeat信息中輸入數(shù)據(jù),使輸入數(shù)據(jù)為(message=helloworld),而變量con是指定了POST的HttpConnection。

          Stringmessage=hmessage=helloworldh;

          DataOutputStreamdos=con.openDataOutputStream();

          byte[]request=message.getBytes();

          for(inti=0;i

          dos.writeByte(request[i]);

          }

          dos.flush();

          ex.7

          下面實(shí)際是利用POST與服務(wù)器進(jìn)行通信的sample。在這里,WEB服務(wù)器將轉(zhuǎn)發(fā)利用POST發(fā)送的信息值,并接收最終結(jié)果response。接收的response內(nèi)容將被輸入控制臺(tái),請(qǐng)用模擬器進(jìn)行確認(rèn)。

          importjava.io.DataInputStream;

          importjava.io.DataOutputStream;

          importjava.io.IOException;

          importjavax.microedition.io.Connector;

          importjavax.microedition.io.HttpConnection;

          importjavax.microedition.midlet.MIDlet;

          importjavax.microedition.midlet.MIDletStateChangeException;

          /**

          *利用POST發(fā)送request的sample



          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();