LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP技術在WAP中的應用

admin
2010年7月22日 22:55 本文熱度 5280
[p][b]第一節:wap的潛能[br][br][/b]  這些日子,我們常聽到wap技術,一種手機上網的技術。從技術上講,移動電話不可能和pc來競爭,移動電話的屏幕只能容下很少的字符,它的帶寬也是很受限制,而且輸入也很笨拙。那我為什么還要 介紹它了,嘿嘿,這里有兩個主要的我認為wap一定有成功的因素。 [br][br][b]隨處性: [/b][br][br]  只要你有手機,你到哪里都可以訪問wap網站。[br][br][b]帳單機構: [/b][br][br]  在不久的將來,我們就能通過我們的手機來支付我們的一切費用,查詢很多的信息。只是我們的手機費用中又多了一項費用"wap服務費"。 [br][br]  這樣我們就能用手機支付我們的商品費用,信用卡都不用了,它一定能夠成為新消費方式。[/p]
[p][b]第二節:wap基礎[br][br][/b]  wap (wireless application protocol) v1.1是一種開放性規范,它試圖規范移動電話訪問信息和服務行業。這個規范是由wap forum來開發的,一個民間組織。1.2版本的wap協議將會被認為是最后的wap規范。 [br][br]  關于wap最基本的概念就是重復利用internet協議,這個協議必須很清楚地在現有的技術上輕松地調用wap服務。[br][br]  wap協議利用一種很像我們電腦網絡的分層結構。較低層次不太像我們常用的web應用,但是頂層還是我們的老朋友----http。數據一樣是從服務器上發出,從服務器上接收,信息能夠儲存在服務器上,調用也可能用cgi,也可以用其它的方法,比如asp.也就是說只要你會asp,那么你就可以在輕松地寫出你的第一個wap應用程序了。 [br][br]  當然,就手機的帶寬和用戶能力方面來看,手機需要不同(更嚴格)的設備,所以在目前的條件下html就不能適應wap所能提供的帶寬。 [br][br]  wap forum 的定位是wml (wireless mark-up language),一種xml格式的語言。wml是精簡的html。 [br][br]  wap forum同時也指定了wmlscript,很像javascript,只是用于手機而已,它能夠處理客戶端的程序。 [br][b]第三節:wml[br][br][/b]  盡管我已經講解了手機與服務器的通訊,但是真正的客戶端不是手機。一個軟件(wap gateway)實際上允當了這個角色。它將手機的請求轉換為http請求,同時也將服務器的回應返回給手機,wml文件此時就被wap gateway編譯成二進制文件。盡管有些wap geteway能夠將html直接轉換為wml,但是也不要指望它們能任意地將html轉換為我們在手機上能看懂的東東。 [br][br]  當然,仿真器就不需要wap gateway來工作了,它會直接從服務器下載wml文件(或者直接在本地機上打開wml),同時將它顯示在手機的屏幕上。[/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440101.gif[/img][/align][/p]
[p][br][br]  [b]wap 仿真器[/b][br][br]  為了使用wap服務,像吾等窮人買不起手機,就需要一個wap 仿真器。你可以去nokia website下載一個 nokia toolkit 1.2,同時你也得裝上java virtual machine 1.2.2,可以免費從sun公司下載,這里是個例子。[/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440102.gif[/img][/align][/p]
[p][align=center][b]wml 結構[br][br][/b]  一個wml文檔是由板塊組成的,一個板塊包含有許多的卡片。在實際中,你可以把一個板塊看成一個由許多有名字的標簽組成的html。 [br][br]  手機下載一個完整的板塊,但是在一次只能顯示一個卡片。通過鏈接瀏覽不同的地方。 [br][br]  我們將會看到一個簡單的wml文檔,你得懂點最基本的xml。 [br][br]< ?xml version="1.0"? >[br][br]< !doctype wml public "-//wapforum//dtd wml 1.1//en" "http://wapforum.org/dtd/wml_1.1.xml" >[br][br]< wml >[br][br]< !-- root element -- >[br][br]< card id="card1" title="example 1" >[br][br]< p > < !-- 卡片只能支持p和do塊 -- > [br][br]< do type="accept" label="go to card 2" >[br][br]< go href="#card2"/ >[br][br]< /do >[br][br]this is the first card.[br][br]< /p >[br][br]< /card >[br][br]< card id="card2" title="example 1" >[br][br]< p >[br][br]this is the second card.[br][br]< /p >[br][br]< /card >[br][br]< /wml >[br][br]  一旦手機接收了這個塊,它就會顯示第一個卡片,當你按下左邊的軟鍵時,就會看到第二個卡片。[/align][/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440103.gif[/img] [img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440104.gif[/img][/align][/p]
[p][align=center][/align][/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440105.gif[/img][/align][/p]
[br][b]wml基本的語言[br][br][/b]"p" element[br][br]作用與html一樣,只是如果你想顯示文字這個就是必須的。[br][br]"do" element[br][br]  實際上每個wap應用必須支持導航條。do標簽最主要的type屬性的值就是accept,這個意味著當你按下軟鍵一個新的選項會被加到列表中來。label屬性指定顯示的文字。另外是一些選項:[br][br]go - 導航到另外一個卡片或板塊中去。他需要href 屬性。 [br][br]prev - 導航到上一個卡片中去 [br][br]refresh - 刷新顯示。 [br][br]noop - 無 [br][br]anchor[br][br]  作用和html中的一樣的。在wml中anchor鏈接的作用和do差不多,唯一的不同就是anchor不以選項的形式顯示。[br][br]< anchor >[br][br]go to card 2[br][br]< go href="#card2"/ >[br][br]< /anchor >[br][br][b]變量[/b][br][br]  wml結合變量的辦法有一點不同于html和javascript。wml的變量不僅可以被wmlscript來調用,還可以通過card直接用于wml文檔。換句話說就是變量不僅可以由用戶直接輸入,同時也可以由setvar元素來設置。當然變量能夠被腳本來操作,但這個不是必須的!這個觀點必須被更進一步的強調和闡明。例如,你可能需要一個card來獲得用戶的名字,下一個card就顯示"hello,飛刀",我們就可以這樣"hello,$(firstname)",有點像php,是不是,這個在傳統的html中是不可能辦到的![br][br]  既然變量的值能夠在各個card之間保存,那么它們就經常被用于保存狀態信息,支持一些復雜的交互式wap服務。這種方法的一個問題就是當整個deck不得不重新引用時,這些狀態可能與用戶的瀏覽不能保持同步。所以,一些事件和屬性就被用來捕獲這些事件(onenterofrward 和 onenterbackward).刷新則根據一些變量的值被用做更新card.[br][b]用戶輸入[br][br][/b] 當然,為了使你的頁面變得更加的強大,變量就需要儲存(接收)用戶的標準輸入。這一切通過一些類似于html的元素來完成.[br][br]  input - 很像html,用戶通過手機的鍵盤來輸入。你能夠想像,這種輸入就不像我們使用pc上的鍵盤一樣實用,所以我們應當盡量簡化這種輸入方式,有可能盡量使用select元素來供用戶選擇。name屬性是這個變量的名字,缺省值和大小的屬性顯然也是必須的。format為輸入入口指定了一個輸入面具。其它的請查看其它資料,在這我就不一一講述了! [br][br]select/option - 用戶選項的列表。同樣也很像html: [br][br]< select name='movie' >[br][br]< option value='1' >eyes wide shut< /option >[br][br]< option value='2' >notting hill< /option >[br][br]:[br][br]< option value='13' >buena vista social club< /option >[br][br]< /select >[br][br]multiple=true屬性告訴用戶代理(瀏覽器)多項選擇是被允許的. onpick事件發生于一個選項被選擇/被取消時. [br][br]postfield - 很像html中的hidden屬性,它將不顯示在屏幕中。它能同時將name與value傳送給服務器. [br][br]fieldset - 包含一大堆的信息強迫手機在一個屏幕中顯示,當然這得看手機的能力了
[p][b]其它的元素[br][br][/b]  img元素也同樣被支持,但是你得使用一種特殊的圖片格式,名叫wbmp.因為wap手機擁有有限的內存和儲存空間。這種新的格式能夠讓wap設備快速的理解和生成圖片。wireless bitmaps的生成,可以通過下載一個photoshop和paint shop pro的插件就可以搞定了。最后大家要記住在你的服務器上設置正確的mime類型,下面我列出了所有與wap有關的mime:[br][br]wml text/vnd.wap.wml[br][br]wmlc application/vnd.wap.wmlc[br][br]wmlsc application/vnd.wap.wmlscriptc[br][br]wmlscript text/vnd.wap.wmlscript[br][br]ws text/vnd.wap.wmlscript[br][br]wsc application/vnd.wap.wmlscriptc[br][br]wmls text/vnd.wap.wmlscript[br][br]wbmp image/vnd.wap.wbmp[br][br]  一些傳統的強調元素也被支持,比如:em,i,b,small,strong等等,用法也和html一樣。br也同樣被支持,不過寫法有點不同,畢竟是xml嘛,要寫成這樣[br][br][br]  最后我們來看看time對象和ontimer事件,time對象保存著至card被調用至今的時間,如果我們定了ontimer事件,那么ontimer事件就會被激發. [br][br]  還有很多我也懶得寫了,希望對你們建設wml網頁沒有什么影響.[br][br][b]wap 的開發問題[/b][br][br]  很不幸的是,事情并不是我們想像的那么簡單,不同的wap手機總是有一些小的不同的地方,就像m$的javascript與ns的不同一樣。例如,nokia 7710這樣第一部在挪威出售的wap手機,就不能正確的支持post方法。[br][br]  另一個限制就是deck的大小的問題。有些手機(nokia 7110)就是不支持超過1.4k的wml文檔,wap網關能夠將你的wml文檔壓縮成更小的二進制格式,但是你也不要希望奇跡出現。這時不僅是nokia 7110支持的東東不能顯示,一些強調標幟也被忽略了,另外fieldset標幟也很輕松地被它忽略了,是不是很煩!?嘿嘿,當你在仿真器上做出很cool的頁面,然后再到手機上一看,嘿嘿,砸了手機是你的第一選擇.[br][br]  雖然nokia toolkit 1.2仿真器上支持cookies,但是第一批wap手機就是不支持,這就意味著你將和你的asp中的session,說再見,至少也是很長的一段時間 [br][br]  下一節,我們將真正做一個wml與asp相結合的網站.[br][b]第四節:另一種預訂你電影票的方法[br][br][/b]  在上一節中,我講解了最基本的wap和wml的概念,這一節我們就來看看asp和wap是如何結合的. [br][br]  現在在奧斯陸,電影院提供了一種基于電話系統的來銷售門票,這個系統是很復雜的,還必須給用戶一些說明才能指導用戶買票,而且用戶還必須在報紙上找到某種電影的代碼,這個很煩,我們來介紹另一種方法。 [br][br]  這里這將給你展示一個簡單的讓手機用戶訂票的wap應用:一個肯定讓人叫好的服務。用戶不必記住那些煩人的代碼,他們能夠直接從菜單中選取電影和電影院,并且用戶也不需要認證。在這個例子中用戶被要求在電影開始前40分鐘交費,但是在真正的生活中,用戶同樣可以通過手機來結帳. [br][br]  此應用程序想像的條件是一個電影能夠在同一時間在多個電影院上映,一個電影院不同的時間上演不同的電影。 [br][br]  這里我沒有過多的考慮錯誤處理的問題,因為這不是本章節的重點,你喜歡你可以自己加上. [br][br]  為了簡單,我使用了access 97來做為數據庫,當然真正的系統不會用它了,其它的數據庫如sql server,也不必改動多少代碼. [br][br][b]數據庫圖表 [/b][/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440106.gif[/img][/align][/p]
[p][br][br][b]數據庫圖表 [/b][br][br].movie 和theater表是顯然需要的。show表用于追蹤現在還有多少空位可以出售。 [br][br][b]怎樣調試這個程序 [/b][br][br]  為了訪問這個wap服務,你需要一個wap仿真器,這個程序主要是在nokia toolkit 1.2上調試,詳細情況請查看上一章節。 [br][br][b]選擇電影 [/b][br][br][b]在list表中選擇一個電影: [/b][/p]
[p][align=center][img]http://arch.pconline.com.cn/pcedu/empolder/wz/asp/10202/pic/200010101710440107.gif[/img][/align][/p]
[p][align=left]這里是代碼:[br][br]< !--#include file="conn.asp" -- >< % 'send the right mime type[br][br]response.contenttype = "text/vnd.wap.wml" [br][br]  第一件事就是聲明wml,仿真器如何不在正確的地方聲明xml,它是不會接受wml的盡管nokia 7110可以忽略這一點,但是不能保證其它的手機也行,所以你不得不做這事。同樣你也得設置好mime類型。[br][br]< ?xml version="1.0"? >[br][br]< !doctype wml public "-//wapforum//dtd wml 1.1//en" "http://wapforum.org/dtd/wml_1.1.xml" >[br][br]< wml >[br][br]  在進入下一個card以前會有一個閃爍的屏幕來顯示一個圖片wbmp一種新的格式。這個事件是由timer屬性決定的,這里我們設置的時間為5秒.ontimer事件引發后將帶你去另一個card.(wmbp的photoshop插件可以從網上免費下載).[br][br]< card id="splash" ontimer="#card1" title="welcome to" > < timer value="50"/ >[br][br]< p align="center" >[br][br]< br / >[br][br]< img src="pix/logo.wbmp" alt="wap movies"/ >[br][br]< /p >[br][br]< /card >[br][br]< card id="card1" title="choose a film" >[br][br]< % [br][br]sqlquery = "select [movie_id], [title] from movie"[br][br]set rsmovies = conn.execute(sqlquery)[br][br]: [br][br]% >[br][br]< p >[br][br]< select name='movie' >[br][br]< %[br][br]do while not rsmovies.eof[br][br]response.write("< option value='" & rsmovies("movie_id") & "' >" & rsmovies("title") & "< /option >" & vbcrlf)[br][br]rsmovies.movenext[br][br]loop % >[br][br]< /select >[br]這一部分是本文的焦點。從數據庫中讀出需要的數據顯示出來,作為一個asp程序員,這個沒有什么特別的,但是就是這個簡單的程序現在被用于一種全新的服務器就顯得不一樣了。這也使得我更加認為在基于wml的商業站的網絡編程asp更勝于java servlet. [br][br]< small > < anchor title="next!" >next[br][br]< go href="step2.asp" method="get" >[br][br]< postfield name="movie" value="$(movie)" / >[br][br]< /go >[br][br]< /anchor >[br][br]< /small >[br][br]< /p >[br][br][br]  表單的提交也可以通過軟開關函數(do 和 anchor)來完成。在這里,我是通過簡單的內嵌鏈接來完成的,因為我覺得這樣能夠使用戶感覺直觀和友好。postfields大至和html中的hidden差不多,但是wml的變量不像html中的那樣需要在javascript中傳送,它可以直接寫在wml中,這一點上一節已經講解了.在這里的傳遞的方法是get,post方法在wap的規范也是被支持的,仿真器也能識別它,但是很不幸,在nokia 7110中,這個post不被支持,所以你沒得選擇.[/align][/p]

該文章在 2010/7/22 22:55:28 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩欧美在线一区 | 日本有码中文字幕第一页在线播放 | 色综合久久久久 | 亚洲高清一区二区三区不卡 | 色花堂国产精品第一页 | 亚洲精品国产综合精品99 |