分享
 
 
 

用ASP在WAP手机网页中添加旗帜广告

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在本文中,我想进一步的介绍如何利用ASP开发动态的WML网页,及其应用。其实细想一下,可以使用服务器端编程(例如ASP)开发很多很多应用程序用在WAP手机上,只要把它们直接生成WAP手机能识别的WML网页就可以了。比如说在本文中要介绍的,如何为WAP等无线设备开发一个循环式的旗帜广告系统。

图一显示了一个旗帜广告的示意图,这是在一个 WAP 站点上显示旗帜广告的一个可能的方法。

使用这种方法,你就可以在你的网站上加入循环式的旗帜广告,就能给那些使用无线上网冲浪的用户一个机会,让他们了解到更快的广告信息,只需他们轻轻一按电话左边的按钮就可以了,不但能够方便用户而且能够增加网站的收入。

假设我们想要创建一个循环旗帜广告,并把它放在任何页面的顶部,使用ASP和WML来创建这个页面。为了使这个系统更加具有可伸缩性,并更加贴近现实,我想把将要显示的广告信息存入数据库中,然后从数据库中抽取出所有相关的信息,从而使产生的内容保持动态变化的。然后将随机从数据库选择一个广告和它所指向的链接,这样才能做到使广告不断的循环出现。每次载入一个页面的时候,就将会出现一个新的广告。

好下面我先说一下,建立广告数据库。为了简化,我使用了Microsoft Access 数据库,表名为ADbase,其中有主键bannerid(用来说明旗帜广告名),bannertext(显示于手机上的广告词,也就是旗帜广告的实际的正文消息) 和 bannerURL(连接广告的链接)当然了,你也可以在网页中加入一些图形,不过为了简化,我将省掉这些图形。建好的库如下显示。

<%@Language=VBScript

' 定义用于产生随机数的最大值

MaxNoAds = 10

' 设置文档类型

Response.ContentType = "text/vnd.wap.wml"

' 从数据库中随机选择一个广告

Randomize(Cbyte(Left(Right(Time(),5),2)))

AdID=(Int((MaxNoAds-1+1) * Rnd + 1))

' 从数据库中把这条广告取出

set objConn = Server.CreateObject("adodb.connection")

objConn.Open "dsn=adserver;uid=adserver"

sql = "SELECT * from ADbase where bannerid = '" & AdID & "'"

set rsAd = objConn.Execute(sql)

' 显示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="bannerad" title="广告">

<p>

<a href="<%=rsAd("bannerURL")%>"> <%=rsAd("bannertext")%>

</p>

</wml>

好,这样就构成了一个旗帜广告的雏形,下面就是完善它了,只要在任何你想要添加广告的页面,加入一条

<!-- #include file="bannerad.asp" -->就可以了。

ASP与WAP结合能够生成丰富的动态的WML网页,可以给WAP手机带来许多有趣的内容。那么如何使他们两者有机的结合来生成动态网页呢?在本文中,我就想介绍一下如何使用ASP开发一个动态生成WML的应用程序。比如说,现在手机的电子银行被炒得很火,那么我们如何去建立这样一个应用程序呢?在这里我不想讨论整个电子银行的建立,因为那样内容太庞大,超出了我能介绍的范围,在这里我只想介绍一下,如何使用ASP建立一个应用程序来检查用户的收支平衡情况。考虑到它的安全性,我们要使用WTLS,但这个问题比较复杂,只能等以后就机会再探讨了。我们要把精力放在如何使用ASP来实现动态网页上。

说了这么多废话,让我们开始吧!假设银行账户信息被保存在SQL数据库中,如果使用相应的网络连接,就可以进入我们的系统。在本文的例子中,为了简化我们让账户信息非常的小(事实上不是这样的):只包括账户号;客户名,安全密码和账户收支平衡情况,在一个表中(tbl_account_info),有四个域分别对应为accountno,custname,accountpin和accountbal。

下面,我想简单的谈谈编程思路:首先,用户进入我们的系统界面,输入他们的账号和安全密码(如图1),在验证完这些登录信息以后,我们允许用户登录进入系统,我们将给出欢迎语,并把用户名和账户上的收支平衡状况输出出来!

图1

这就是大体的开发思路,好,现在我们就可以根据这个思路进行编程了。我有个习惯,在我编写动态的程序代码时,我先把静态的代码写出来,然后才试着把动态的代码写出。在本文中我也将采用这种方法。

首先,在代码的第一部分,我们将要建立一个页面用来用来接收用户的登录信息。(如图1)

请注意下面这段代码,这些代码都是最基本的WML代码:

<% Response.ContentType = "text/vnd.wap.wml" %>

<?xml version="1.0" encoding="gb2312"?>//注意这一句,如果想要显示中文,必须要加入encoding="gb2312"

<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"

"http://www.wapforum.org/DTD/wml_1.1.xml">

<wml>

<card id="login" title="WAP 电子银行">

<p>

欢迎来到WAP 电子银行 <br/>

请输入账号: <input name="accountno" type="text" maxlength="6" />

安全密码: <input name="accountpin" type="password" maxlength="4" />

<do type="accept" label="Check Bal">

<go href="checkbal.asp" method="post">

<postfield name="accountno" value="$Accountno" />

<postfield name="accountpin" value="$Accountpin" />

</go>

</do>

</p>

</card>

建立好接收用户登录信息页面以后,我们就要验证用户填充的信息是否非法,如账号没有满相应的位数,安全密码没有填等等,这些步骤一般都是在客户端进行的,从而使使用无线通讯联接进行的处理过程达到最小程度,以缓解因通讯拥挤引起的通讯中断。因为手机毕竟不同于普通的PC机,它的带宽比较小,连接比较慢。

好,下一步我们就要真正的联接数据库了,我们要发出一个标准的SQL请求语句,然后服务器会返回一个记录集,我们处记录集中把我们需要的信息抽取出来,然后再下一个页面相应的域中显示出来。这些都是动态的内容:从用户那里取得请求信息,然后给他们显示他们想要获得的动态信息,这样就做到了"手机信息的个性化"。请看代码:

<card id="Login" title="WAP 电子银行">

<p>

<%

txtSQL = "SELECT * FROM tbl_account_info WHERE accountno='"

Request.Form("AccountNo") & "' AND accountpin='"

Request.Form("AccountPIN") & "'"

set rs = conn.Execute(txtSQL)

if rs.EOF then

Response.Write "Invalid Login"

Response.Write "<do type='accept' label='Retry'>"

Response.Write " <go href='index.asp'/>"

Response.Write "</do>"

else

Response.Write "您好, " & rs.Fields("custname") & "先生" <br/>"

Response.Write"您的余额为¥" & rs.Fields("accountbal")

%>

在从服务器上取得回信息以后,我们就将这些信息显示出来:如图2

好了,一个简单的电子银行的查询系统就写好了。从上面的例子中我们可以看出在设计WAP页面时要注意以下几个问题:

1、要保持内容,短小精干。我们基于用户请求提供的信息必须简明,能够快速的满足他们的请求!

2、使用ASP能够非常迅速的完成编写动态的WML页面,它与用ASP编写的普通的页面基本相试,只有一些细微的改变,比如加入了WML页面识别的标记。你也可以试着写一些其他的动态内容。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有