ASP實(shí)用大全-實(shí)戰(zhàn)ASP(6)
發(fā)表時(shí)間:2024-06-08 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]ASP與WAP結(jié)合能夠生成豐富的動(dòng)態(tài)的WML網(wǎng)頁(yè),可以給WAP手機(jī)帶來(lái)許多有趣的內(nèi)容。那么如何使他們兩者有機(jī)的結(jié)合來(lái)生成動(dòng)態(tài)網(wǎng)頁(yè)呢?在本文中,我就想介紹一下如何使用ASP開(kāi)發(fā)一個(gè)動(dòng)態(tài)生成WML的應(yīng)用程序。比如說(shuō),現(xiàn)在手機(jī)的電子銀行被炒得很火,那么我們?nèi)绾稳ソ⑦@樣一個(gè)應(yīng)用程序呢?在這里我不想討論整...
ASP與WAP結(jié)合能夠生成豐富的動(dòng)態(tài)的WML網(wǎng)頁(yè),可以給WAP手機(jī)帶來(lái)許多有趣的內(nèi)容。那么如何使他們兩者有機(jī)的結(jié)合來(lái)生成動(dòng)態(tài)網(wǎng)頁(yè)呢?在本文中,我就想介紹一下如何使用ASP開(kāi)發(fā)一個(gè)動(dòng)態(tài)生成WML的應(yīng)用程序。比如說(shuō),現(xiàn)在手機(jī)的電子銀行被炒得很火,那么我們?nèi)绾稳ソ⑦@樣一個(gè)應(yīng)用程序呢?在這里我不想討論整個(gè)電子銀行的建立,因?yàn)槟菢觾?nèi)容太龐大,超出了我能介紹的范圍,在這里我只想介紹一下,如何使用ASP建立一個(gè)應(yīng)用程序來(lái)檢查用戶(hù)的收支平衡情況?紤]到它的安全性,我們要使用WTLS,但這個(gè)問(wèn)題比較復(fù)雜,只能等以后就機(jī)會(huì)再探討了。我們要把精力放在如何使用ASP來(lái)實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁(yè)上。
說(shuō)了這么多廢話,讓我們開(kāi)始吧!假設(shè)銀行賬戶(hù)信息被保存在SQL數(shù)據(jù)庫(kù)中,如果使用相應(yīng)的網(wǎng)絡(luò)連接,就可以進(jìn)入我們的系統(tǒng)。在本文的例子中,為了簡(jiǎn)化我們讓賬戶(hù)信息非常的。ㄊ聦(shí)上不是這樣的):只包括賬戶(hù)號(hào);客戶(hù)名,安全密碼和賬戶(hù)收支平衡情況,在一個(gè)表中(tbl_account_info),有四個(gè)域分別對(duì)應(yīng)為accountno,custname,accountpin和accountbal。
下面,我想簡(jiǎn)單的談?wù)劸幊趟悸罚菏紫龋脩?hù)進(jìn)入我們的系統(tǒng)界面,輸入他們的賬號(hào)和安全密碼(如圖1),在驗(yàn)證完這些登錄信息以后,我們?cè)试S用戶(hù)登錄進(jìn)入系統(tǒng),我們將給出歡迎語(yǔ),并把用戶(hù)名和賬戶(hù)上的收支平衡狀況輸出出來(lái)!
圖1
這就是大體的開(kāi)發(fā)思路,好,現(xiàn)在我們就可以根據(jù)這個(gè)思路進(jìn)行編程了。我有個(gè)習(xí)慣,在我編寫(xiě)動(dòng)態(tài)的程序代碼時(shí),我先把靜態(tài)的代碼寫(xiě)出來(lái),然后才試著把動(dòng)態(tài)的代碼寫(xiě)出。在本文中我也將采用這種方法。
首先,在代碼的第一部分,我們將要建立一個(gè)頁(yè)面用來(lái)用來(lái)接收用戶(hù)的登錄信息。(如圖1)
請(qǐng)注意下面這段代碼,這些代碼都是最基本的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>
歡迎來(lái)到WAP 電子銀行 <br/>
請(qǐng)輸入賬號(hào): <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>
建立好接收用戶(hù)登錄信息頁(yè)面以后,我們就要驗(yàn)證用戶(hù)填充的信息是否非法,如賬號(hào)沒(méi)有滿相應(yīng)的位數(shù),安全密碼沒(méi)有填等等,這些步驟一般都是在客戶(hù)端進(jìn)行的,從而使使用無(wú)線通訊聯(lián)接進(jìn)行的處理過(guò)程達(dá)到最小程度,以緩解因通訊擁擠引起的通訊中斷。因?yàn)槭謾C(jī)畢竟不同于普通的PC機(jī),它的帶寬比較小,連接比較慢。
好,下一步我們就要真正的聯(lián)接數(shù)據(jù)庫(kù)了,我們要發(fā)出一個(gè)標(biāo)準(zhǔn)的SQL請(qǐng)求語(yǔ)句,然后服務(wù)器會(huì)返回一個(gè)記錄集,我們處記錄集中把我們需要的信息抽取出來(lái),然后再下一個(gè)頁(yè)面相應(yīng)的域中顯示出來(lái)。這些都是動(dòng)態(tài)的內(nèi)容:從用戶(hù)那里取得請(qǐng)求信息,然后給他們顯示他們想要獲得的動(dòng)態(tài)信息,這樣就做到了"手機(jī)信息的個(gè)性化"。請(qǐng)看代碼:
<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")
%>
在從服務(wù)器上取得回信息以后,我們就將這些信息顯示出來(lái):如圖2
好了,一個(gè)簡(jiǎn)單的電子銀行的查詢(xún)系統(tǒng)就寫(xiě)好了。從上面的例子中我們可以看出在設(shè)計(jì)WAP頁(yè)面時(shí)要注意以下幾個(gè)問(wèn)題:
1、要保持內(nèi)容,短小精干。我們基于用戶(hù)請(qǐng)求提供的信息必須簡(jiǎn)明,能夠快速的滿足他們的請(qǐng)求!
2、使用ASP能夠非常迅速的完成編寫(xiě)動(dòng)態(tài)的WML頁(yè)面,它與用ASP編寫(xiě)的普通的頁(yè)面基本相試,只有一些細(xì)微的改變,比如加入了WML頁(yè)面識(shí)別的標(biāo)記。你也可以試著寫(xiě)一些其他的動(dòng)態(tài)內(nèi)容。