第7章_基于HTTP協(xié)議的網(wǎng)絡開發(fā)
單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第,7,章基于,HTTP,協(xié)議的網(wǎng)絡開發(fā),主講教師:賈震斌,本章教學目標,了解,HTTP,協(xié)議傳輸數(shù)據(jù)的基本步驟;,掌握基于,HTTP,協(xié)議的,J2ME,網(wǎng)絡連接編程步驟及方法。,本章學習建議,J2ME,中基于,HTTP,協(xié)議的網(wǎng)絡連接隨著,3G,時代的來臨,已經(jīng)越來越成為手持移動設備主流的網(wǎng)絡連接方式,本章內容教材限于篇幅比較簡略,學習本章內容應注意立足教材面向課外,充分利用圖書、互聯(lián)網(wǎng)上的資源,擴展知識結構,提高實際開發(fā)能力。,本章目錄,7.1 HTTP,協(xié)議概述,7.2,建立,HTTP,連接,7.3,本章小結,習題,7.1 HTTP,協(xié)議概述,7.1.1HTTP,連接狀態(tài),HTTP,協(xié)議稱為超文本傳輸協(xié)議,一次完整的,HTTP,連接過程有,4,個步驟:,連接:客戶端與服務器建立連接;,請求:客戶端向服務器發(fā)送請求,請求有兩種傳輸方式:,get,和,post,;,應答:服務器接受客戶端請求進行相關處理,并把處理結果發(fā)送給客戶端口;,結束:一次連接結束,客戶端與服務器斷開連接,以便其他客戶端設備可以連接到服務器。,7.1.2HTTP,請求方式,當客戶端與服務器建立連接后,客戶端會向服務器發(fā)送請求信息。,HTTP,協(xié)議中客戶端向服務器發(fā)送信息的基本格式:,1.,請求行:是,HTTP,協(xié)議發(fā)送信息的第一行,而且只有一行,包括以下部分:,請求方式,:可以是,GET,、,POST,、,HEAD,或其他擴展方法,URL,:請求的目標地址,HTTP,協(xié)議版本號,:通常是,HTTP/1.0,或者,HTTP/1.1,例:,GET http:/ hc=(HttpConnection)Connector.open(URL,網(wǎng)址,),輸入字節(jié)流方法,連接成功以后可以利用,openInputStream(),得到,InputStream,輸入字節(jié)流,獲得服務器端向客戶端發(fā)送的數(shù)據(jù),建立,HTTP,連接的實例一,設計程序讀取網(wǎng)址為,http:/127.0.0.1/test/test.txt,的網(wǎng)絡文件內容顯示在文本域中,參見實例項目,HttpTest,編程思路:,設置一個文本域,TextBox,,為其建立一個,exit,菜單及,Command,命令,同時為文本域設置監(jiān)聽器,CommandListener,程序中利用,Connector,的,open(),方法打開網(wǎng)址,獲得字節(jié)輸入流,循環(huán)讀取字節(jié)輸入流中的字節(jié),將這些字節(jié)轉換成字符連接成一個字符串,最后將字符串顯示在文本域中,注:,HttpConnection,連接方式也可以改為通過,StreamConnection,方式,方法如下:,StreamConnection sc=(StreamConnection)Connecor.open(“http:/127.0.0.1/test/test.txt”),注意:如果連網(wǎng)的話,上面語句中的,url,可以必用其他網(wǎng)址,但要注意某些網(wǎng)站的網(wǎng)頁設計使用了某些特殊技術,可能無法正常獲取會造成程序運行失敗,建立,HTTP,連接的實例二,將實例一改為用,GET,傳輸方法訪問,ASP,網(wǎng)頁,參見實例項目,IDTest,建立,HTTP,連接的實例三,本實例主要特點是能顯示中文字符,通過下面的方法將字符集改為,GB2312,:,String str=,new String(content.getBytes(ISO8859-I),gb2312);,關于,J2ME,程序的中文編碼問題建議通過網(wǎng)絡搜索了解更多信息,如,J2ME,中文編碼 問題,注意:本書中該實例中編程中有錯,會造成程序無法正常運行,正確的代碼已在程序中給出。,7.3,本章小結,本章主要介紹了通用連接框架中如何進行,HTTP,網(wǎng)絡連接,習題,1.,什么是,HTTP,協(xié)議?簡述,HTTP,協(xié)議連接過程。,2.,服務器端對客戶端請求發(fā)出響應形式是什么?,3.HTTP,協(xié)議中客戶端向服務器端發(fā)送信息時的請示方式主要有哪幾種?舉例說明,J2ME,的,HTTP,連接中,GET,傳輸方式的作用。,4.,在,J2ME,中使用,HTTP,協(xié)議進行編程,需要調用,Connector,的靜態(tài)方法,open(),建立與服務器的連接對象接口是什么?,5.,掌握“,7.2,建立,HTTP,連接”中各程序功功能。,實驗四,基于,HTTP,協(xié)議書的網(wǎng)絡編程,實驗名稱:基于,HTTP,協(xié)議書的網(wǎng)絡編程,實驗目的:,1.,掌握基于,HTTP,協(xié)議的網(wǎng)絡編程的步驟,2.,掌握,POST,和,GET,數(shù)據(jù)傳輸方式的不同應用,實驗內容:,1.,教材實例一,2.,教材實例二,實驗結論,1.,記錄實驗過程中程序運行結果、問題解決方案、結論及體會,2.,提出改進思路及方法,