wap(wireless application protocal)是開放的協議,這與日本的i-mode有所不同,后者是封閉的。wap事實上是無線網絡和internet網絡相結合的產物。本來的無線網絡主要是承載話音業務,而同時internet的數據業務已經非常的成熟。由于數據業務在無線網絡中應用的需求,促進了wap的形成。你甚至可以認為wap是一個輕量級的http協議,它是為無線網絡量身訂制的。
作為開發人員我們應該了解一下wap的工作原理以及編程模式,如果你有web應用程序開發經驗的話,理解起來會比較容易的。其實它就是一種b/s的模型,這里的browser不是傳統意義上的瀏覽器而是支持wap設備上的用戶代理,也可以理解為wap瀏覽器。而服務器就是一般的web服務器,你可以使用iis、apache或者其他的web服務器,由于html不適合在資源比較緊張的無線設備上傳輸因此我們在服務器上使用wml語言。事實上當用戶通過無線設備訪問網絡的時候,首先請求要經過wap網關,wap網關會對數據進行適當的編解碼,然后把數據請求發送到web服務器上,處理后數據經過wap網關的編解碼后發送到手機上。而這對程序員來說是透明的,你只需要管理server的代碼就可以了。下面這張圖片有助于你理解這一編程模式,如果你想了解更多關于wap的知識,推薦你看一本《移動互聯網與 wap技術》,雖然講的不深但是比較清楚。
既然我們的服務器可以用一般的web服務器,那么這里我使用tomcat5.0作為web服務器,首先你需要從http://www.apache.org 下載tomcat5.0并安裝。假設安裝路徑為c:/tomcat 5.0。在環境變量中設置好catalina_home=c:/tomcat 5.0。設置好java_home=c:/j2sdk1.4.2_03。進入catalina_home/bin目錄,運行startup啟動tomcat,默認的端口是8080。打開瀏覽器在地址里面輸入http://localhost:8080。看到那只tom貓則說明安裝成功。tomcat5.0的版本一般都已經對wml支持了,如果不支持的話,修改catalina_home/conf/web.xml。在mime映射部分添加如下內容:
<mime-mapping>
 <!-- wml source -->
 <extension>wml</extension>
 <mime-type>text/vnd.wap.wml</mime-type>
</mime-mapping>
<mime-mapping>
 <!-- compiled wml -->
 <extension>wmlc</extension>
 <mime-type>application/vnd.wap.wmlc</mime-type>
</mime-mapping>
<mime-mapping>
 <!-- wml script source -->
 <extension>wmls</extension>
 <mime-type>text/vnd.wap.wmlscript</mime-type>
</mime-mapping>
<mime-mapping>
 <!-- compiled wml script -->
 <extension>wmlscriptc</extension>
 <mime-type>application/vnd.wap.wmlscriptc</mime-type>
</mime-mapping> 
你還可以在welcome-list里面添加index.wml作為默認的訪問頁面
<welcome-file-list>
 <welcome-file>index.wml</welcome-file>
 <welcome-file>index.html</welcome-file>
 <welcome-file>index.htm</welcome-file>
 <welcome-file>index.jsp</welcome-file>
</welcome-file-list> 
這樣服務器已經可以用來開發wap應用了。
調試程序的時候我們需要在wap瀏覽器上調試,我選擇了winwap瀏覽器作為開發調試工具,用起來非常的方便。首先從http://www.winwap.org 下載最新的winwap 3.1pro版本,30天的試用期。安裝和其他的應用程序安裝一樣,下面我們編寫一個簡單的wml文件測試一下。
index.wml
<?xml version="1.0"?>
<!doctype wml public "-//wapforum//dtd wml 1.1//en"
http://www.wapforum.org/dtd/wml_1.1.xml>
<wml>
<card id="myfirstcard" title="first card">
<p align="center">
hello www.j2medev.com 
</p>
</card>
</wml> 
把這個文件放在catalina_home/webapps/root/下面,啟動winwap后在地址內輸入http://yourip:yourport/index.wml,將會在winwap里面看到hello www.j2medev.com。
| 
 
 | 
新聞熱點
疑難解答