日期:2013-02-08  浏览次数:20937 次

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页面识别的标记。你也可以试着写一些其他的动态内容。