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 页面识别的标记。你也可以试着写一些其他的动态内容。
说了这么多废话,让我们开始吧!假设银行账户信息被保存在 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 页面识别的标记。你也可以试着写一些其他的动态内容。