新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 開發MIDP聯網應用程序

        開發MIDP聯網應用程序

        作者: 時間:2012-05-07 來源:網絡 收藏

        importjavax.microedition.io.Connector;

        importjavax.microedition.io.HttpConnection;

        importjavax.microedition.midlet.MIDlet;

        importjavax.microedition.midlet.MIDletStateChangeException;

        /**

        *利用GET發送request的sample

        *從控制臺輸出response

        */

        publicclassGETTestextendsMIDlet{

        /**

        *訪問服務器

        */

        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();

        //關閉鏈接

        con.close();

        }catch(IOExceptione){

        e.printStackTrace();

        }

        }

        protectedvoidpauseApp(){

        }

        protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{

        }

        }

        ex.4

        實際操作后的結果。

        1.6.利用HEAD

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

        為使用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。這個sample與剛才所介紹的一樣,是以在模擬器上進行操作為前提而作成的,它只用于說明,實際操作還沒有進行測定。由此獲取的全部header信息內容將輸入控制臺。

        importjava.io.IOException;

        importjavax.microedition.io.Connector;

        importjavax.microedition.io.HttpConnection;

        importjavax.microedition.midlet.MIDlet;

        importjavax.microedition.midlet.MIDletStateChangeException;

        /**

        *利用HEAD發送request的sample

        *從控制臺輸出response

        */

        publicclassHEADTestextendsMIDlet{

        /**

        *顯示header信息

        */

        protectedvoidstartApp()throwsMIDletStateChangeException{

        try{

        HttpConnectioncon=

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

        //指定HEAD

        con.setRequestMethod(HttpConnection.HEAD);

        //取得關鍵的HTTPheader信息——成對的值

        inti=0;

        Stringmessage=;

        Stringkey=;

        Stringvalue=;

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

        key=con.getHeaderFieldKey(i++);

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

        }

        System.out.println(message);

        //關閉鏈接

        con.close();

        }catch(IOExceptione){

        e.printStackTrace();

        }

        }

        protectedvoidpauseApp(){

        }

        protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{

        }

        }

        ex.5

        實際操作后的結果如下所示。

        圖3

        1.7.利用POST

        為能利用POST發送request,要使用InputStream和OutputStream。用OutputStream向服務器發送數據,而InputStream則接收來自服務器的response。

        用下述方法指定POST。

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

        con.setRequestMethod(HttpConnection.POST);

        ex.6

        如下所示使用OutputStream在requeat信息中輸入數據,使輸入數據為(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

        下面實際是利用POST與服務器進行通信的sample。在這里,WEB服務器將轉發利用POST發送的信息值,并接收最終結果response。接收的response內容將被輸入控制臺,請用模擬器進行確認。

        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發送request的sample



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 丰城市| 九龙县| 隆林| 永丰县| 宁都县| 津市市| 武安市| 白银市| 顺昌县| 临湘市| 临潭县| 高碑店市| 远安县| 山阳县| 晋州市| 石楼县| 灵武市| 苍山县| 嵊泗县| 万全县| 禄丰县| 博湖县| 毕节市| 兴安县| 繁昌县| 承德市| 九寨沟县| 咸宁市| 拜泉县| 台东县| 高州市| 林口县| 明溪县| 甘泉县| 兴国县| 百色市| 咸丰县| 盐亭县| 竹溪县| 芦山县| 紫金县|