WAP技术入门Word格式文档下载.docx

上传人:b****6 文档编号:8632706 上传时间:2023-05-12 格式:DOCX 页数:11 大小:24.68KB
下载 相关 举报
WAP技术入门Word格式文档下载.docx_第1页
第1页 / 共11页
WAP技术入门Word格式文档下载.docx_第2页
第2页 / 共11页
WAP技术入门Word格式文档下载.docx_第3页
第3页 / 共11页
WAP技术入门Word格式文档下载.docx_第4页
第4页 / 共11页
WAP技术入门Word格式文档下载.docx_第5页
第5页 / 共11页
WAP技术入门Word格式文档下载.docx_第6页
第6页 / 共11页
WAP技术入门Word格式文档下载.docx_第7页
第7页 / 共11页
WAP技术入门Word格式文档下载.docx_第8页
第8页 / 共11页
WAP技术入门Word格式文档下载.docx_第9页
第9页 / 共11页
WAP技术入门Word格式文档下载.docx_第10页
第10页 / 共11页
WAP技术入门Word格式文档下载.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

WAP技术入门Word格式文档下载.docx

《WAP技术入门Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《WAP技术入门Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。

WAP技术入门Word格式文档下载.docx

性、设备平台无关性、以及相互操作性。

WAP沿用了目前的WEB架构,从而使得目前投放到WEB的 

资金、设备、人力等等,都能够继续保留并且沿用。

WAP不同指出在于她多出了一个被称之为WAP  

GateWay的东西,Gateway有何作用呢?

以Internet设备来讲,Gateway 

就类似于Proxy,当客户端要取得某个网站的叶面的时候,都是由Proxy代理来取得,再交给 

Client端。

而WAP Gateway除了代理手机取得所需要的网站的WML文件之外,还要 

充当转换HTTP协议和WAP协议的角色,从而使得手机顺利取得资料。

WAP Gateway大 

都由电信局或者ISP所设立,而一般的网站,只要在WEB Server中加入相关的MIME格 

式设定就好了,就可以直接让用户的手机访问到了。

架构描述如下图:

无线设备(手机、PDA)<

---->

(WAP协定)<

WAP网关<

--->

(HTTP协定)<

WEB服务 

器<

数据库服务器 

  可以看到,WAP Gateway在无线网络数据传送的过程中充当的是一个中间人的角色,有 

了她,现在已经投到互联网上面的资金、设备、人力等等才不会被WAP网站所废弃,相反的是可以更 

好的利用现有的几乎所有的资源。

  另外,像诺基亚等公司,将WAP网关和WEB服务器整合在了一起,被称之为“Web App 

lication Server”,但是其总体架构和上图仍然是相同的,这里就不再重复了。

接下来,我们来看看,为了让用户能够在手机上面访问到我们的网站,应当如何设置目前已经存在 

的Web Server。

一、Internet Information Server(IIS) 

设定方式:

打开〔开始〕――〉〔程序〕――〉〔WindowsNT4.0 

Option 

Pack〕――〉 

〔Microsoft 

Internet 

Information 

Server〕――〉〔Internet服务管理员〕 

在打开的窗口里面选中Server,右键选择“属性”,增加如下的MIME格式:

文件类型         MIME 

.WML       

text/vnd.wap.wml 

.WMLC 

application/vnd.wap.wmlc 

.WMLS 

text/vnd.wap.wmlscript 

.WMLSC 

application/vnd.wap.wmlscriptc 

.WBMP 

image/vnd.wap.wbmp 

二、Personal Web Server4 

1.打开注册表编辑器,在HKEY_CLASSES_ROOT下面新建一个主键“.WML”;

2.在HKEY_CLASSES_ROOT\.WML下面新建一个字符串,命名为“Content 

Type”,值为 

“text/vnd.wap.wml”;

3.在HKEY_LOCAL_MACHINE\Software\CLASSES\MIME\Database\Content 

Type新建一个 

主键“text/vnd.wap.wml” 

4.在“text/vnd.wap.wml”主键下面新建一个字符串,名称“Extension”,值为“.WML”;

5.依次重复以上2,3,4步骤,建立其他的MIME类型 

三、Linux(Apache) 

  使用管理员身份登入系统,在命令行,输入“ps 

-ef”命令兰看看当前的WWW服务是否正常, 

然后使用VI来编辑“/etc/httpd/conf/srm.conf”文件,在AddType处增加如下类型:

AddType 

text/vnd.wap.wml          .wml 

application/vnd.wap.wmlc   

.wmlc 

text/vnd.wap.wmls         

.wmlscript 

application/vnd.wap.wmlsc   

.wmlscriptc 

image/vnd.wap.wbmp       

.wbmp 

  保存后,将httpd重新启动即可。

  这样设置过后,我们的Web Server就可以让手机访问得到了,当然,对于普通的H 

TML文件,手机是无法识别的,手机所要读取得文件类型从上面设置过程我们也可以猜测的 

出来,对了就是WML文件。

在开始设计WML之前,我们先要来熟悉一下我们的WAP网站 

开发环境。

第二章 

手机仿真开发环境 

  所谓的手机仿真开发环境,也就是在普通的PC机器上面使用各种模拟器来模拟手机的真实环 

境,从而方便WAP网站的开发,目前较为流行的模拟器主要有以下几个:

一、Nokia Toolkit 1.2/1.3 

  可以从这个地址下载这个仿真开发环境:

目前这个WAP工具包的最高版本是1.3beta,诺基亚公司的这个 

开发包是采用JAVA编写的,所以你在安装之前首先要安装JRE 

2.2以上的版本才可以,JRE可以在SUN公司的主页上面下载 

()。

诺基亚公司的这个开发工具是一个集成环境,可 

以方便的编译WML/WMLScript,并且有着详细的WML/W 

MLScript开发文档,用户可以通过地址栏来装载本地正在开发的 

WML文件,或者直接浏览互联网上面的WAP网站;

但是Nokie  

Toolkit的运行条件比较苛刻,如果你的机器内存小于128兆, 

那么运行的速度将大打折扣,没有办法,JAVA编写的程序向来如此 

的,这也算是一个小小的遗憾吧。

1。

2的版本没有模拟实际型号的手 

机,而1.3版本就有模拟产品7110的仿真环境。

二、 

Ericsson WapIDE4 

  爱立信公司推出的一个WAP开发包,和诺基亚公司的开发包类似,爱立 

信公司的这个工具也是一个集成开发环境,比较方便,可以从这个地址下 

载:

相对于诺基亚公司的WAP开发工具而言,爱立信公司的这个开发工具就 

较为简陋一些,并且它的开发文档很少,但是它的运行速度要比诺基亚的 

那个开发工具包要快的多,尤其是内存在64兆左右的机器。

三、 

UP.SDK 4.0 

  Phone.com公司的UP.SDK产品和上面的两种开发工具相比 

就是没有集成的IDE开发环境。

这个开发工具可以在:

取得。

  从上面的说明来看,在这三个流行的WAP开发工具中,最具有吸引力的当然就是诺基亚公司的模 

拟仿真环境了,图形界面以及丰富的开发文档,的确不可多得。

另外,还有其他的一些可以浏览WAP 

网站的软件,比如WinWAP,WAPMan等等,他们都是可以直接在PC机上面直接来浏览WA 

P网站的软件,值得一提的是,Opera公司推出的4.0版本的浏览器就已经支持直接在浏览器中 

访问WAP网站了,这个小巧的浏览器功能很是强劲。

相信微软也不会坐视不等,可能在IE的后续版 

本中增加支持WML文件的功能。

  上面的WAP仿真开发环境的安装后的设置都比较简单,稍微懂一些英文的都会看得懂的。

第三章 

WML/WMLScript设计 

  现在我们来正式设计我们的WAP站点,正如目前的WEB网站是基于HTML语言一样,WAP 

网站是基于WML语言的,而WML语言其实是遵循目前的XML技术的,不过你如果不懂XML也不 

要紧的,还是可以很快入门的。

  WML和以往的HTML语言最大的不同是,WML语言的限制非常严格,表现在下面几个方面:

WML中的所有标签、属性都是区分大小写的 

对于连续的空格,WML编译器将认为是一个 

所有标签的属性都需要使用双引号括起来 

所有的标签都必须封闭,对于不成对出现的标签,必须在“>

”之前加上“/”,比如“<

br/>

” 

  一定要注意上面的要点,否则很有可能出现手机无法浏览WML的情况出现。

做到这一点,只是习 

惯的问题,主要是我们在HTML时代养成的“懒散”习惯不太好,都是IE的兼容性太好惹得祸,^_^ 

  在WML中,最基本的单位叫做“card”,他被用来向用户提供交互界面,这其实也是为了照顾到 

手机的屏幕比较小而设计的,并且手机的处理能力有限,不可能像我们经常使用的IE等浏览器那样一 

次将整个页面载入,在使用滚动条来察看内容,被设计用于手机浏览的WML文件,一个最大不能超过 

1.4K,所以我们才将大的叶面分割成为若干个card,来一次显示;

多个“card”就组成了一个 

“Deck”,也即使一个“层面”,一个WML文件中只允许出现一个层面,正如HTML中只用一个 

“<

html>

<

/html>

”标签一样。

  另外还要记住,只要想显示一些文字到手机上面,就必须使用"

p>

/p>

"

标签将这一段文字括住。

不再罗嗦,下面我们就先看看一个简单的例子:

HelloWorld 

?

xml 

version="

1.0"

>

!

DOCTYPE 

wml 

PUBLIC 

-//WAPFORUM//DTD 

WML 

1.1//EN"

http:

//www.wapforum.org/DTD/wml1_1.1.xml"

wml>

card 

id="

hello"

title="

WAP"

   

Hello!

World!

 <

-- 

注释信息 

->

/card>

/wml>

  将这个文件存盘,在诺基亚仿真浏览器中浏览就可以看到你向WAP世界的问候语了。

我们可以看 

到,在WAP中的注释方法同HTML中是一样的。

要注意的是每一个card的id属性是不允许省略的, 

并且在默认的情况下手机显示的是这个“层面”的第一个“卡片”,当然我们也可以直接指定要浏览的 

特定“卡片”,后面我们会提到。

  怎么样,看看这第一个例子,觉得WML并不是很难吧,要比HTML还要简单呢,只是它的限制 

稍微多一些而已,接下来我们来看看WML中其他有用的标签:

标签:

描述:

定义“层面”的开始和结束,一个WML文件只允 

许一个层面 

card>

定义“卡片”的开始和结束,多个“卡片”组成一 

个“层面” 

id属性必须要给出,用以区分不同的“卡片” 

title属性指明提示信息 

用来显示文字的标签 

img 

src="

alt="

localsrc="

align="

left"

height="

width="

vspace="

hspace="

alt属性用来指定图片没有正常显示时的提示信息 

src属性指定图片的路径 

以上两个属性是必须的 

其他的属性类似于HTML语言 

do 

type="

label="

name="

option="

/do>

执行某些动作,其中属性type是必须的。

type值         

触发事件 

accept           

触发确认 

delete     触发删除 

help      触发帮助  

options     触发选择 

prev      返回上一页 

reset      清除目前状态 

go href="

/>

当用户点击了do标签之后,就可以使用这个标签 

连接到其他的“卡片”或“层面” 

要指定它的“href”属性。

timer 

value="

设定计时器的时间,以0.1秒为单位,同一个“卡 

片”只能有一个timer标签。

到达特定时间后会触 

发ontimer事件 

href="

/a>

类似HTML中的同样标签 

go 

method="

/go>

类似于HTML中的form标签,method属性的 

值:

post/get 

postfield 

设定变量的名字和值,这些值可以被服务器端的 

ASP,JSP等程序捕获。

input 

text/password"

提供输入的表单,类似于HTML 

$(name) 

获取变量的值 

  以上就是在WML中经常用到的标签,当然还有很多标签,你可以在Nokia 

Toolkit中找到详尽的语 

法,这里就不再重复了。

要注意的是,在WML中使用的图片格式不同于平常的图片,而是要使用WB 

MP格式的图片,这种图片是黑白两色的专为手机提供的图片格式,你可以下载Photoshop的WBMP插 

件,用来编辑WBMP格式的图片,或者网络上面有很多的工具可以转换其他格式的图片到WBMP格 

式。

  接下来我们要介绍一下运行在手机上面的script程序:

WMLScript 

WMLScript语言和JavaScript语言非常相似,不同之处在于WMLScrip 

t语言必须放在一个WMLS的文件里面,并不像javascript那样可以镶嵌在HTML中, 

并且WMLS文件的大小也不要超过1.4K 

语法规则如下:

每一行程序均以分号结尾 

注释方法:

“//”或者“/* 

*/” 

使用关键字“var”来声明变量 

  怎么样?

从上面我们就可看出来,WMLScript语言和javascript语言是多么的 

相似,WMLScript的变量类型有:

Boolean、Interger、Floatin 

g-point、String、Invalid 

  WMLScript的流程控制语言和javascript的相同,实例如下:

// 

if-else 

if 

(x 

== 

y){ 

  x 

3.25;

}else{ 

0;

for 

loop 

(var 

counter 

1;

500;

++){ 

  var 

1.05;

  somefunction(i);

};

while 

(i 

j){ 

  i--;

break 

  if 

(counter 

250) 

break;

//continue 

-100;

100;

0) 

continue;

350/counter;

函数:

WMLScript的函数使用方法如下:

extern 

function 

identifier(FormatParameterList) 

Block 

;

extern是说明函数是放在另外一个文件当中的。

如下:

RunTime(distance, 

speed){ 

time 

distance 

speed;

  return 

time;

  此例出入distance以及speed两个参数,然后返回time的值。

  如果调用的是WMLScript的內建函数,就必须加上这个函数所属的类名,例如调用 

String类的length()函数,使用:

var 

String.length('

just 

test'

);

內建函数 

WMLScript有六大內建函数:

Lang:

包含数据形态、绝对值、随机数等。

Float:

浮点数处理。

String:

字符串长度(length)、字符位置(charAt)等字串处理。

URL:

getReferer、getHost。

WMLBrowser:

go、prev、next、refresh等浏览处理。

Dialogs:

弹出(prompt、confirm、alert)等对话框。

  首先我们先建立一个WML文件,WMLScriptExample.wml,內容如下:

//www.wapforum.org/DTD/wml_1.1.xml"

stuid"

stuid:

accept"

Results"

  <

WMLScriptExample.wmls#checkid($(stuid))"

  Enter 

Stu_ID:

text"

Results:

  You 

entered:

  Stu_ID:

$(stuid)<

让用户输入学号,go的href连接到另外一个.wmls文件,调用checkid函数。

再建 

立一个WMLScriptExample.wmls文件,內容如下:

checkid(stuid){ 

(String.length(stuid) 

8){ 

    WMLBrowser.setVar("

 

Error:

String 

must 

be 

digits 

long."

  } 

  WMLBrowser.go("

WMLScriptExample.wml#Results"

  这个WMLScript就是检查stuid字串长度是否为8,并且返回结果。

WMLBrowser.setVar()设定变量的值,WMLBrowser.go()將手机定位到下一个 

WML文件,也就是WMLScriptExample.wml的Results卡片。

WMLScript是不是很类似于javascript?

简直就是一模 

一样,就是多了和WML文件相配合的功能而已。

  最后需要指出的是,现在的大多数WAP手机(Nokia7110、爱立信R32 

0S等等)都是使用UTF-8编码的,也就是采用Uniecode来编码,这样,如 

果我们直接在WML/WMLScript中使用中文的话,将会产生乱码,手机用户无 

法识别,所以我们在输出中文之前,要对中文进行Uniecode的编码,这个工作就 

要服务器端的程序来完成了,比如我们使用ASP来做这项工作,可以调用这个函数实现 

转换,其他语言的实现方法类似:

Function 

c2u(myText) 

  For 

to 

Len(myText) 

'

对每一个字节进行处理 

Mid(myText, 

i, 

1) 

    c2u 

c2u 

&

#x"

Hex(AscW(c)) 

    '

将传回的Unicode转换为十六进制值 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2