在開始設(shè)計一個ASP站點的時候,面對著一大堆的問題,到底要怎么樣入手,才能讓網(wǎng)站設(shè)計做到快,好,而且調(diào)試、更改,移植起來又方便呢?下面以留言本的設(shè)計為例子,談?wù)務(wù)军c的設(shè)計。
?。ㄒ唬┱军c的功能
“磨刀不誤砍柴工”,先寫出站點的功能,對以后的工作有很大的幫助。現(xiàn)在來設(shè)計一個留言本,功能如下:
1、單用戶版。只有一個管理員,所有人都可以留言,可以搜索留言
2、記錄下每個留言者的 IP,QQ,頭像,姓名,主頁,電子郵件,留言時間,留言內(nèi)容;
3、有管理員回復(fù)功能。如果已經(jīng)回復(fù),還可以更改回復(fù)的內(nèi)容。記錄回復(fù)的時間;
4、記錄主頁的位置,以便快速回到主頁。
5、自定義的頁頭和頁腳。顯示特定的信息。
6、將數(shù)據(jù)存到ACCESS數(shù)據(jù)庫
7、管理功能:管理員登錄/回復(fù)/刪除/更改管理員密碼/更改顯示的留言數(shù)/更改主頁
(二)站點數(shù)據(jù)庫
一般ASP站點都要用到數(shù)據(jù)庫,首先設(shè)計好數(shù)據(jù)庫,在使用時才不會為了一個字段而去查詢或更改數(shù)據(jù)庫的設(shè)計。特別是對大型的網(wǎng)站,好的數(shù)據(jù)庫設(shè)計可以影響到整個網(wǎng)站的運行情況?,F(xiàn)在我們來設(shè)計留言本的數(shù)據(jù)庫:
1、數(shù)據(jù)庫名:lyb.mdb
2、表:共有二個表
表一: admin
字段名 類型 長度 其它 說明
admin_user 文本 15 不允許空值/主鍵 管理員用戶名
admin_pass 文本 15 不允許空值 管理員密碼
admin_http 文本 50 可為空值 主頁地址
admin_perpage 數(shù)字/整型 小數(shù)為0
表二: main
字段名 類型 長度 其它 說明
user_id 自動編號
user_name 文本 15 不為空 姓名
user_image 文本 30 不為空 頭像文件名
user_ip 文本 15 不為空 IP地址
user_oicq 文本 10 可為空 QQ號
user_http 文本 50 可為空 主頁
user_email 文本 50 可為空 電子郵件
user_time 日期 長日期 留言時間
user_ly 文本 255 不為空 留言內(nèi)容
user_replay 是/否 是否回復(fù)
user_rply 文本 255 可為空 回復(fù)內(nèi)容
user_rptime 日期 長日期 回復(fù)時間
留言本的數(shù)據(jù)庫比較簡單,如果是大型網(wǎng)站,在數(shù)據(jù)庫設(shè)計好后要反復(fù)檢查。所有的字段名最好用命名標(biāo)準(zhǔn),在數(shù)據(jù)庫設(shè)計完成后,最好能打印出一份象上面的列表來,以方便使用。
(三)站點的文件設(shè)計
文件的設(shè)計主要是設(shè)計有多少個文件,每個文件分別包含哪些內(nèi)容,以及之間的關(guān)系。以留言本為例,文件設(shè)計如下:
1、 inc.asp 有關(guān)函數(shù)和常數(shù),包括打開數(shù)據(jù)庫函數(shù),打開表函數(shù),文字處理函數(shù)
2、top.htm 頁頭信息
3、bottom.htm 頁腳信息
4、index.asp 留言本主頁面。包括顯示留言,管理員登錄,修改參數(shù),回復(fù)留言。引用inc.asp;
5、main.css css文件;
6、tou.htm 頭像列表文件;
7、image 文件夾,存頭像及其它圖片;
?。ㄋ模┱军c的頁面設(shè)計
頁面設(shè)計主要是設(shè)計頁面的風(fēng)格和布局。這部份內(nèi)容比較多,一般是先定位整個頁面的風(fēng)格,然后設(shè)計所有的插圖和Flash,再設(shè)計CSS,最后設(shè)計每個頁面。對于頁面有重復(fù)的內(nèi)容,先設(shè)計單個的內(nèi)容。這里僅列出index.asp的大致設(shè)計,如下:
'引用 inc.asp
<%
'處理參數(shù)
'留言子程序
'登錄子程序
'回復(fù)子程序
'刪除子程序
'修改參數(shù)子程序
'退出登錄子程序
%>
<html>
<head>
<!-引用CSS-!>
<title>留言本</title>
<body>
'引用top.htm
'顯示留言表單
'顯示搜索表單
'顯示留言記錄
'引用bottom.htm
</body>
</html>
當(dāng)然,在頁面設(shè)計階段,并不要寫出子程序,只要把顯示的各部份做好就行了
(五)站頁的代碼設(shè)計
主要就是完成ASP代碼的設(shè)計。在這里只談?wù)勅绾巫屨军c的可修改性和可移植性加強。只有一點:多用組件或者是函數(shù),當(dāng)然如果寫成類就更好了。對于小站點,也不希望到每個頁面的某個子程序再去用 set conn=server.createobject("adodb.connection"),而是把它寫成一個函數(shù)或子程序,放在頁面里,比如:
?。?
databasename="lyb.mdb"
uid=""
pid=""
sub opendb(connect)
set connect=server.CreateObject("ADODB.connection")
connect.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &_
server.MapPath(databasename) &";uid="&uid&";pid="&pid
connect.Open strconn
end sub
%>
這樣,當(dāng)你改變數(shù)據(jù)庫名或是用戶名和密碼的時候,很方便的能修改過來。經(jīng)過一段時間的積累,你會有許多這樣的函數(shù)或子程序,或是類,再做類似的站點的時候,只要整理出相關(guān)的放在一個文件里引用一下就好了。
文章來自: ASP技術(shù)網(wǎng)站(www.aspjs.net) 詳文參考:http://www.aspjs.net/aspjs1html/ASPjiaocheng/ASPjishuziliao/1342.html