基于BS架構的網站制作論文
本文基于數計學院網站實施過程,概述了 HTML、ASP、數據庫的相關技術,使用 WIN2000+ASP+ACCESS 平臺,分析、設計數計學院網站過程。
該文的研究將著重數據庫的設計、運用 ASP 實現信息管理系統中各個功能模塊,是程 序——數據庫——網站技術的典型應用。本文設計內容主要有以下幾個方面:
1.系統概述
2.系統設計
3.數據庫設計與實現
4.后臺系統和數據庫的配置
5.前端網站制作與設計
關鍵詞:互聯網、HTML、ASP、數據庫設計
Abstract:
This article outlined one whole process of THE ONLINE SJXY, and outlined some technologies about HTML, ASP and Accessing the Data Base. And outlined the whole process of how to analyses, design, empolder and debug the application for the ONLINE SJXY.
This thesis stresses the functional modules applied in the design of database, the use of ASP, showing a typical application of technologies from program to databases to network, this thesis is divided into five parts primarily, one by one in order for:1 the discuss of the using software,2 The design of the system design, 3 database of the website with realize, 4 the backstage system installs with database, 5 the development of the head network and design
Key words:Internet, HTML, ASP, Data Base
作者簡介:農皓 貴州民族學院 數學與計算機科學學院 計算機科學與技術專業
1. 前言
Internet(國際互聯網)是由分布在世界各地的大量計算機遵照共同的傳輸控制協議
/互聯網絡協議(Transmission Control Protocol/Internet Protocol;TCP/IP)聯接而 成,因此被稱為"網中網"或國際網。Internet 是人類歷史發展中的一個偉大的里程碑,它 是未來信息高速公路的雛形,人類正由此進入一個前所未有的信息化社會。人們用各種名 稱來稱呼 Internet,如國際互聯網絡、因特網、交互網絡、網際網等等,它正在向全世界 各大洲延伸和擴散,不斷增添吸收新的網絡成員,已經成為世界上覆蓋面最廣、規模最大、 信息資源最豐富的計算機信息網絡。在 Internet 飛速發展的今天,互聯網成為人們快速 獲取、發布和傳遞信息的重要渠道,它在人們政治、經濟、生活等各個方面發揮著重要的 作用。2006年1月 17 日,中國互聯網絡信息中心(CNNIC)發布了第十七次“中國互聯網 絡發展狀況統計報告”。調查報告顯示,截止到 2005 年 12 月 31 日,我國網民總人數達 到 1.1 億。
而 Internet 上發布信息主要是通過網站來實現的,獲取信息也是要在 Internet“海 洋”中按照一定的檢索方式將所需要的信息從網站上下載下來。因此網站建設在 Internet 應用上的地位顯而易見,它已成為政府、企事業單位信息化建設中的重要組成部分,從而 倍受人們的重視。
1.1 數計學院網站需求分析
數計學院辦院以來各方面建設發展迅速,成績顯赫。向社會各界展示學院優異成績、 學院風采,提高學院知名度等工作越來越迫切。
在 Internet 日益普及的今天,人們每天通過互聯網獲取最快最全的信息資訊,所以 構建貴州民族學院數學與計算機科學學院網站。是一個很好的宣傳窗口,不但可以向社會 各界展示我院教研科研成果,展示師生風采、淵源歷史,還可以實現新聞、通知等院務在 線即時發布,提高辦學效率。
1.2 當前動態網設計技術發展狀況和當前形勢
1.2.1 動態網技術的現狀 絕大多數商業網站都具有大量的數據和信息,而建網的初衷也就是在于方便客戶查詢
企業資料,方便同客戶的交流,及時獲得信息反饋。那么,就必然會面臨如何讓使用者在
瀏覽器界面中,通過互聯網或內聯網(Intranet)查詢 WEB 數據庫的資料,甚至輸入、更 新和刪除 WEB 服務器上的資料。下面是幾種常用的“動態”技術發展現狀
ASP 全名 Active Server Pages,是一個 WEB 服務器端的開發環境,利用它可以產生 和執行動態的、互動的、高性能的 WEB 服務應用程序。ASP 采用腳本語言 VBScript(Java script)作為自己的開發語言。
PHP 是一種跨平臺的服務器端的嵌入式腳本語言。它大量地借用 C,Java 和 Perl 語言 的語法, 并耦合 PHP 自己的特性,使 WEB 開發者能夠快速地寫出動態產生頁面。它支持目 前絕大多數數據庫。還有一點,PHP 是完全免費的,不用花錢,你可以從 PHP 官方站點 (http://www.php.net)自由下載。而且你可以不受限制地獲得源碼,甚至可以從中加進你 自己需要的特色。
JSP 是 Sun 公司推出的新一代網站開發語言,Sun 公司借助自己在 Java 上的不凡造詣, 將 Java 從 Java 應用程序和 Java Applet 之外,又有新的碩果,就是 JSP,Java Server Page。 JSP 可以在 Serverlet 和 JavaBean 的支持下,完成功能強大的站點程序。
三者都提供在 HTML 代碼中混合某種程序代碼、由語言引擎解釋執行程序代碼的能力。 但 JSP 代碼被編譯成 Servlet 并由 Java 虛擬機解釋執行,這種編譯操作僅在對 JSP 頁面 的第一次請求時發生。在 ASP 、PHP、JSP 環境下,HTML 代碼主要負責描述信息的顯示樣 式,而程序代碼則用來描述處理邏輯。普通的 HTML 頁面只依賴于 Web 服務器,而 ASP 、 PHP、JSP 頁面需要附加的語言引擎分析和執行程序代碼。程序代碼的執行結果被重新嵌入 到 HTML 代碼中,然后一起發送給瀏覽器。ASP 、PHP、JSP 三者都是面向 Web 服務器的技 術,客戶端瀏覽器不需要任何附加的軟件支持。
1.2.2 數計學院網站的技術定位和當前發展形勢
目前全國各大院校都有自己的網站,這是 Internet 時代的必然產物,在研究過程中, 當前類似數計學院網站的宣傳性站點不在少數:
(1)、發展較快,數量增加較多。隨著互聯網的發展以及現代教育技術的運用,許多 大中院校都建立了自己的網站(頁),有的甚至建立了有自己單獨域名的網站。筆者利用 Google 搜索引擎填入關鍵詞“學院 大學”進行搜索,可以搜索到許多相關的各個高等院 校網站。
(2)、網站制作的技術水平不斷提高,但是整體水平還較低。許多院校網站利用動力
網絡系統或者運用 Asp 等技術來實現在線管理。當然更多的網站還是停留在簡單的少數幾
個頁面形式。 (3)、網站發展不平衡,質量普遍不高。這是由于地區現代教育技術發展的不平衡以
及教師的信息技術水平等原因造成的。筆者通過 Google 搜索然后訪問各個高等院校發現, 在開通宣傳性網站的各個院校,以江蘇省、浙江省、福建省、廣東省等沿海地區為多。這 些地區屬于我國的經濟發達地區,現代教育技術的發展也較快,教師的信息技術水平也較 高。
1.3 開發工具的選用及其優勢介紹
1、 ASP (Active Server Pages)
ASP 簡單而易于維護,是小型網站應用的最佳選擇,通過 DCOM 和 MTS 技術,ASP 甚至 還可以完成中等規模的企業應用。所以,在數計學院網站中采用 ASP 技術構建動態互動站 點。
ASP 的優勢:
Active Server Pages:“動態服務器網頁”,一般簡稱為“ASP”,ASP 之所以能受到大 家的重視與使用的原因,主要在于所產生的執行結果都是標準的 HTML 格式,而且這些程 序是在網絡服務端中執行,使用一般的瀏覽器(如 IE 或 Netscape)都可以正確地獲得 ASP 的“執行”結果,并且將這 ASP 執行的結果直接在瀏覽器中“瀏覽”,不像 VBScript 或 JavaScript 是在客戶端(Client)的瀏覽器上執行,若使用 VBScript 來設計程序,客戶 端(Client)在 IE 瀏覽器中可以顯示程序執行的結果,可是,客戶端(Client)若使用 Netscape 瀏覽器就無法顯示 VBScript 的執行結果。
2、Dreamweaver MX 中文版
Dreamweaver MX 中文版的出現,使制作一個功能強大的網站,變得很容易,可以輕易 的做出以前被認為很復雜的 ASP,PHP 網站。
Dreamweaver MX 是一款專業的 HTML 編輯器,用于對 Web 站點、Web 頁和 Web 應用程 序進行設計、編碼和開發。無論直接編寫 HTML 代碼的駕馭感還是偏愛在可視化編輯環境 中工作,Dreamweaver 都會提供幫助良多的工具,豐富 Web 創作體驗。
利用 Dreamweaver 中的可視化編輯功能,可以快速地創建頁面而無需編寫任何代碼。 不過,如果喜歡用手工直接編碼,Dreamweaver 還包括許多與編碼相關的工具和功能。并
且,借助 Dreamweaver,還可以使用服務器語言(例如 ASP、ASP.NET、ColdFusion 標記語
言(CFML)、JSP 和 PHP)生成支持動態數據庫的 Web 應用程序。
使用 Dreamweaver 也可以制作出整個網站,只是 Dreamweaver 本身不適合處理圖片, 需要 Photoshop 或者 Fireworks 的配合。使用 Dreamweaver 制作靜態站點的流程:新建站 點→站點文件命名→定義頁面屬性→插入表格→定義頁面大小→轉換到布局視圖→添加 內容→插入導航條→轉換到標準視圖工作→添加鏈接→使用代碼片斷→定義及應用 CSS→ 添加動態交互→鏈接站點各個頁面。
3、Microsoft Windows Access2003
Microsoft 公司推出的 Windows 數據庫管理系統 Access 不僅是關系數據庫管理系統, 同時它也被設計為 Windows 圖形用戶界面應用程序生成器。Microsoft 公司采納了 dBASE 和 Foxpro 這兩個關系數據庫的特點來設計 Access,為其增加了窗體和報表設計功能,并 借鑒 Visual Basic 語言,加入了許多程序設計功能。中文版 Access 2003 具有和 Office 2003 中 Word2003、Excel 2003 等相同的操作界面環境以及與其直接連接的功能,并且提供了 更為方便的操作捷徑方式。Access 2003 是完全面向對象、采用事件驅動機制的關系型桌 面數據庫系統。與其他數據庫管理系統相比,它具有如下幾大特點:
① 同時面向數據庫最終用戶和數據庫開發人員;
② 典型的開放式數據庫管理系統;
③ 支持多媒體的應用與開發;
④ 內置了大量的函數;
⑤ 提供了許多宏;
⑥ 提供了聯機幫助功能;
⑦ 基于 WEB 的智能管理功能;
⑧ 更智能的自動拼寫與語法檢查器;
⑨ 更符合個人網絡用戶和需求?;?Access 2003 的這些功能與特點我們選擇了它 來管理本軟件中涉及到的數據信息。
所以我選擇了 ASP 結合 Microsoft Access2003、Macromedia Dreamweaver8 架構貴州 民族學院數計學院網站。
2. B/S 結構下站點設計的解決方案
2.1 設計思想
通過數計學院網站,全面宣傳,展示我院辦學風采、優點與特色,以及各項教學科研 成果,發布學校的重大活動安排與招生政策,增強社會各界與學校之間的聯系,在 Internet 上實現完成部分校務,提高辦事效率。
因此,我院網站具備以下的一些功能:
1、新聞、信息系統: 實現在線即時發布更新、修改、刪改各類新聞信息
2、站內搜索系統: 實現各類文章按關鍵字搜索
3、會員系統: 會員分級管理實現不同層次權限要求
4、學生成績管理系統: 實現學生按個人學號在線即時查詢相應學科成績
5、投票系統: 實現第一時間聽取各類不同意見,亦可用作各類投票評選
2.2 方案設計
由于系統定位是一個信息交互性網站,是一個新聞性質的宣傳站點。傳統的 C/S
(Client/Server)架構很明顯不適合。C/S 通常適合于開發面向企業內部的應用,例如管 理信息系統。作為面向 Internet 上的 Web 應用,需要的是 B/S(Browser/Server)架構。 B/S 架構的客戶端使用是人們上網沖浪實必不可少的瀏覽器。這種方法的客戶端簡單易學, 培訓成本低,其最大的特點是客戶端是輕量級的,即常說的“瘦客戶端”,因此 B/S 架構 迅速拓展未來。伴隨著 Internet 的繁榮,互聯網信息發布蓬勃發展,B/S 甚至已經侵蝕掉 了許多傳統的 C/S 市場。
瀏覽器
請求
Web Server
結果 (IIS/PWS)
請求
Database
結果 Server
請求 瀏覽器
結果
2.3 B/S 模式的構成和數據處理方式
根據上面的分許,確定系統運行在微軟的 Windows NT 系列平臺上,使用 IIS 信息服 務器作為 Web 服務器,使用 ASP 完成動態交互功能,網站需要頻繁的存儲數據,所以采用
數據庫管理系統來管理數據,后臺數據庫則使用 Microsoft 的 Access,對于一般的小型應
用應該可以滿足要求。
2.4 系統模塊功能分析
數計學院網站包括如下幾個主要功能模塊:
1、新聞信息分類發布系統功能 新聞信息發布系統整體分為前臺和后臺兩部分。前臺的主要功能是為用戶提供快速查
看各種新聞。后臺主要是針對管理員,包括新聞信息的添加、修改、刪除。并且在后臺可 以按需要添加、修改、刪除新聞信息分類,目前數計學院網站分為院內新聞、院內通知、 圖文信息、精品課件四大類,如院內通知則細分有學工委通知和院辦通知等。
2、用戶登錄、注銷和注冊管理 用向導的方式為新用戶提供注冊功能,用戶輸入用戶名、密碼和其他個人信息,經過
系統的合法性驗證成為正式用戶。管理員通過后臺系統審核,給予注冊用戶相應的權限。 如果用戶忘記密碼,可以通過系統提問的方式,由向導一步步找到密碼。
3、留言板、新聞評論管理功能
用戶可以在站內與管理員進行留言溝通,提出自己的意見和建議。還可以針對某個新
聞信息進行評論,提出自己的見解,并由管理員后臺審核認可后發布在該條信息相應位置。
4、站內信息查詢、搜索功能 站內信息檢索必然需要的是提供給用戶快捷方便的方式查找自己需要的新聞和公告
等信息。通常新聞站點都會根據一些標準進行分類,數計學院網站采用了常用的“按標題”、 “按作者”、“按內容”等分類法。
5、投票、評選系統功能 投票系統是站內做一些小調查的工具,很直觀的反映出當前調查結果。亦可作為一些
不記名投票評選活動。
3. 站點設計分析與功能實現
3.1 網站數據庫設計
3.1.1 網站數據庫需求分析 數計學院網站的數據庫的需求分析是進行系統功能劃分和系統設計最重要的一個環
節,根據系統數據流程圖,可以得到 5 個數據庫表:用戶信息表(admin.db)、新聞信息 信息表(News.db)、投票信息表(vote.db)、留言簿和新聞評論管理(Review.db)、和公 告欄信息表(board.db),以下為系統所需的數據項和數據結構的使用情況:
1、用戶管理:用戶信息表,生成包括用戶名、用戶密碼、用戶性別和密碼提示等信息。
2、新聞系統:新聞編號、新聞標題、新聞類型、新聞點擊數、作者、發布時間、相關鏈 接等。
3、投票系統:投票信息表和投票內容、投票選項信息等。
4、留言簿和新聞評論管理:調用留言簿信息和新聞評論信息表,留言(評論)內容、署 名、郵件地址等。
5、公告欄:包括公告編號、公告標題、公告內容、發布時間等。
3.1.2 數計學院網站數據庫
有些實體只是單獨的存在,沒有與它實體的關系,例如用來保存系統最初始配置的 config 表。但是有些實體之間存在著相互關系的,數據庫 E-R 圖如圖所示。圖中箭頭所指 的方向按照約定是指 1:n 關系的 1 方。如果兩邊都沒有箭頭,則是 n:m 關系。
3.1.3 使用 ADO 訪問數計學院網站數據庫
在 ASP 中,訪問數據庫是通過內置的數據庫訪問組件(DataBase Access Component) 的 ADO(ActiveX Data Object)對象來實現的。它是對當前微軟所支持的數據庫進行操作 的最有效、最簡單的方法,是一種功能強大的數據訪問編輯模式,從而使得大部分數據源 可編程的屬性得以直接擴展到 Active Server 上。
ADO 提供了簡單的程序模型和完善的功能來處理數據,ADO 能夠通過利用 ODBC(Open Database Connectivity)或 OLEDB(Object Link & Embedding Database)驅動程序編寫 應用程序來訪問和操作數據庫。如圖所示,無論采用的是 Access、SQL Server、Visual FoxPro、dBase 或其他的數據庫,只要該數據庫具有對應的 ODBC 或 OLE DB 驅動程序,ADO 對象就能加以存取。ADO 具有運行速度快、容易使用、占用內存和磁盤空間小的優點,特 別是對于大量用戶同時訪問時的 Web 站點時,這些優點顯得更加重要。
1、創建和配置 ODBC 數據源
ODBC(Open Database Connectivity)即為開發數據庫系統互連,它是微軟開發的一
套用于開發數據庫系統應用程序接口規范。ODBC 規范為應用程序提供了一套高層調用接口 規范和基于動態鏈接庫的運行支持環境。使用 ODBC 開發數據庫的應用程序時,只需要應 用程序調用標準的 ODBC 函數和 SQL 語句,而數據庫的底層操作由各個數據庫的 ODBC 驅動 程序來完成。所以,使用 ODBC 接口的數據庫應用程序具有很好的適應和可移植性,并且 具備同時訪問多種數據庫的能力,徹底的扔掉了傳統應用程序的缺陷。ODBC 驅動程序類似 于 Windows 下面的硬件驅動程序,對于使用者來說,驅動程序掩蓋了不同的硬件間的差異
2、創建和配置 ODBC 數據源
當數據源創建后,必須提供一條使 ADO 定位,標識和與數據庫通信的途徑,這條途徑 有兩種建立方法:
1) 使用 DSN
創建和配置 DSN 的方法:開始/設置/控制面板/ODBC 數據源/System DSN 下單擊“添 加”按鈕,在出現的創建新數據源的對話框中選擇驅動程序,如 Microsoft Access Driver(*.mdb),在彈出的“ODBC Microsoft Access 安裝”窗口中指定數據源名 和 路 徑 。 完 成 后 , 在 ASP 程 序 中 指 定 DSN , 如 <% cn.open”DSN=yourdsnname;UID=username;PWD=password”%>
(2) 在 ASP 文件里直接指定數據庫文件所在的位置,對不同的數據源要設置的參數略
有不同。
如 Microsoft Access ODBC 參數的設置:
<% conn=”driver={Microsoft Access
Driver(*.mdb)};dbq=”&_server.mappath(“source.mdb”)%>
由于數據學院沒有自己的 Web 服務器,數據學院網站放在遠端的虛擬服務器上,因此, 建立和修改 DSN 的設置比較麻煩,而此方法直接指定遠端數據庫所在的位置恰恰解決了這 一問題。
3.1.4 ASP 站點與服務器端建立連接 當我們需要操作服務器端數據庫時,第一步要做的便是要使數據庫與服務器端建立連
接。這就需要使用 ADO 對象的 Connection 對象。
1、創建 Connection 對象
<% set cn=Server.CreateObject(“ADODB.Connection”)%>
創建了一個名為 cn 的 Connection 對象實例,通過這個個對象實例,就可以使用 Connection 對象提供的 Open 方法打開與數據庫的連接,Excute 方法對表進行 SQL 查 詢等
2、打開與數計學院數據庫的連接 (1)用 Open 方法
<%
set cn=Server.CreateObject(“ADODB.Connection”)%>
cn.open “DSN=score99;UID=admin;PWD=””
%>
(2)用 ConnectionString 屬性
<%
set cn=Server.CreateObject(“ADODB.Connection”)%> cn. Connection “DSN=score99;UID=admin;PWD=”” cn.Open
%>
DSN:指定連接的 ODBC 數據源名稱
UID:提供用戶的 ID,用于登錄服務器端的數據庫。Access 數據庫接收每個用戶;SQL 服 務器中的數據庫提供了”admin”用戶身份,密碼為空
PWD:登錄數據庫的用戶密碼。 (3)直接在 ASP 中指定連接
對于 Access 數據庫,相應的 ASP 程序為:
<%
Cn.open “Driver={Microsoft Access Driver(*.mdb)};DBQ=數據庫文件名(包含 全路徑);UID=用戶名; PWD=用戶密碼”
%>
3、關閉 Connection 對象
cn.close
此方法可以切斷 Connection 對象與數據庫之間的連接,但是此對象還是存在于內存中, 如果要將創建的 Connection 對象從內存中移出,需要用語句
Set cn=nothing
3.1.5 使用 ASP 的 Recordset 對數計學院數據庫作插入、刪除、更新
在使用 Connection 對象打開數據庫連接后,就可以用 ADO 對象模塊提供的 Recordset
對象存取表的記錄,包括讀取、插入、刪除或更新等。 下面先介紹 Recordset 對象幾個常用的屬性和方法:
屬性:
AbsolutePosition:目前指針的絕對位置,其值在 1-ReordCount 屬性之間。 AbsolutePage:當 Recordset 對象設置有分頁時,該屬性會返回目前的頁碼。 BOF:若指針位置位于第一條記錄之前,返回 True,否則返回 False。 EOF:若指針位置位于最后一條記錄之后,返回 True,否則返回 False。 Connection:設置記錄的存放位置。若 Connection 的值設為 2(adUseServer),表示
記錄存放在服務器端;若 Connection 的值設為 3(adUseServer),表示記錄被下載到瀏覽 器端,這將會增加網絡流量。
Filter:篩選記錄。 MaxRecord:返回的最多記錄條數。
PageCount:返回分頁總數。
PageSize:當 Recordset 對象設置有分頁時,PageSize 為每頁的記錄條數。 PageCount:設置指針在 Recordset 對象所包含的所有記錄數。 CursorType:設置指針在 Recordset 對象的移動方向,
設置為 0(adOpenForwardOnly)時,表示指針只能向下一條記錄移動,此為默認值; 設置為 1(adOpenKeyset)時,表示指針可以自由的上下移動,在之前讀取的 Recordset
對象可以看到更新的記錄,但看不到新增、刪除的記錄;
設置為 2(adOpenDynamic)時,指針可以上下移動,在之前讀取出的 Recordset 對象可 以看到任何變化,但 Access 不致吃該設置;
設置為 3(adOpenStatic)時,是在 CursorLocation=3(記錄下載到瀏覽器端)時的設 置,指針可以自由移動,但看不到讀取后的記錄的更新、添加、刪除。
LockType:設置能否將記錄寫入表。1(adOpenForwardOnly)時,表示所有記錄只讀;
2(adOpenDynamic)時,表示當我們開始編輯某條記錄的字段時,便鎖定次記錄,待編 輯完畢并調用 Update 方法進行更新之后,再解除鎖定。
3(adOpenStatic)時,只有在調用 Update 方法進行更新的時候才鎖定記錄,若我們在 編輯某條記錄后沒有調用 Update,而繼續移往其他的記錄作編輯,ADO 會自動調用 Opdate 方法更新前編輯的記錄,若要取消更新,可以使用 CanceUpate 方法。
4(adLockBatchOptimistic)時,允許以批量的方式進行更改記錄 方法:
AddNew:在 Recordset 對象中插入新的記錄,需要執行 Update 方法才算完成新增。 Clone:復制某個已存在的 Recordset 對象。
Delete:刪除 Recordset 對象中目前指針所指到的記錄。 MoveNext:指針下移一條記錄。 MovePrevious:指針上移一條記錄。 MoveFirs:指針移到第一條記錄。 MoveLast:指針移到最后一條記錄。
Move Num:指針下移 Num 條記錄。
Open:取得 Recordset 對象,它可能包含表的所有記錄或符合 SQL 查詢的記錄 Update:完成對 Recordset 對象中某條記錄的更新
1、創建 Recordset 對象
Set objRS=Server.CreateObject(“ADODB. Recordset”)
2、Open 方法
objRs.Open Source Connection CursorType LockType CommandType Source:這時一個 command 對象或包含指令的字符串。 Connection:用來打開數據庫連接的 Connection 對象。 CursorType:設置指針在 Recordset 對象中的移動方向。 LockType:設置能否將記錄寫入表
CommandType:設置處理參數 Source 的方式。
3、新增表的記錄
objRS.AddNew Title,Content
新增的一條記錄字段名稱為 Title,數據為 Content,如:
objRS.AddNew Array(“新聞標題”,”新聞內容”),Aeeay(“測試新聞”,“測試 新聞內容”)即增加一條為新聞標題為“測試新聞標題”,新聞內容為“測試新聞內容”的記錄。
4、讀取表的字段名稱與數據 讀取字段名: 可用表格的方式建立,如:
讀取字段值:
5、使用 Filter 屬性來篩選記錄
用 objRS.Filter 來篩選記錄,設置屬性時,可以包含任何邏輯運算,只要返回值為 True或 False。
6、設置分頁瀏覽 當表包含很多記錄而無法顯示在同一頁面時,將記錄設置多頁來分頁瀏覽是很有必要 的,同時加上頁次的超級鏈接,瀏覽者想看哪個頁次的記錄,只要點取其超級鏈接, 就可以看到該頁次的記錄。要做到這一點,只要充分利用前面已經介紹的幾個屬性
AbsolutePage(返回當前頁碼)、PageCount(分頁總數)、PageSize(定義每頁的記錄數)。
3.1.6 ADO 存取數計學院數據庫的實現
歸納起來,利用 ADO 存取數據庫用以下步驟來實現, 首先,定義一個 ADO 連接對象,然后打開數據源
Set cn=Server.Createobject(“ADODB.Connection”) Cn.open “數據源”
數據源是在“控制面板”下的“ODBC32”設定的數據源名稱。 其次,執行 SQL 命令,并將結果存儲到 RecordSet 對象變量中
Set rs=cn.Execute(SQLstr)
第三,通過 RecordSet 集合取得記錄的內容,其中常用的有: rs(“記錄名稱”):讀取某個記錄的內容 rs.eof:是否已指到最后一條,是為 ture,不是為 false rs.MoveNext:將 RecordSet 的指針移到下一條記錄
最后,關閉數據庫,有兩個動作,一是 RecordSet,另一則是 Connection rs.Close
cn.Close
建立對象實例
打開數據源
將記錄集存入 recordset 變量
用 recordset 的方法取得記錄
關閉數據庫
ADO 存取數據庫
3.1.7 網站數據庫詳細設計
數計學院網站各基礎數據庫使用了 Access 數據庫工具。該數據庫包含 15 個不同專題 的表。下面是 5 個主要數據表,在這里做一個簡要的說明。
1、Admin 表該表主要存儲數據學院用戶信息表,生成包括用戶名、用戶密碼、用戶性別和密碼提
示等信息。
2、News 表該表主要存儲新聞編號、新聞標題、新聞類型、新聞點擊數、作者、發布時間、相關
鏈接等。
3、vote 表該表主要存儲投票信息表和投票內容、投票選項信息等。
4、Review 表該表主要存儲留言簿信息和新聞評論信息表,留言(評論)內容、署名、郵件地址等。
5、board 表 該表主要存儲公告編號、公告標題、公告內容、發布時間等
3.2 數計學院網站頁面設計
3.2.1 頭部導航條
任何一個成果的 Web 應用都離不開導航功能。系統中的導航條分為兩個部分:首部導 航條和尾部導航條。在多數 ASP 文件中都可以發現下 面的語句:
這行代碼的功能是將首部導航條包含到當前頁面中,這種方式可以使網站維持統一的風格。如果需要時對 top.asp 作了修改會反映到所有的包含其的文件中。
導航條維護了 Web 應用站點統一的風格和方便修改,也為瀏覽者能迅速和快捷的在站點內跳轉提供了基礎。
3.2.2 主體功能展現 數計學院網站是一個全面展示學院風采、科研成就等信息的站點,這就決定了站點的大部分功能都在首頁中得以實現,如圖所示,數計學院網站的各項重要功能都可以一目了 然:
圖中標示 1、2、10 均為站點導航條,3 為站內公告欄,4 為站內檢索,5 為各類新聞
3.3 網站重點代碼的設計
3.3.1 強大的 ASP#include 指令
在一個 ASP 頁面中,可以使用#include 指令把另一個文件的內容插入到當前的頁面中: 這條指令讀取該文件的全部內容并插入到該頁面中,代替一行。這是 一種非常有用的插入 HTML 段落的技術。
通過把腳本和內容分開的方法,給頁面提供了一個組成層次。這意味著如果對腳本進
行了修改,在客戶端再次打開該頁面時,腳本的修改情況自動的反映到使用包含文件的每 個頁面中。例如,常見數據庫連接的獲取都作為一個單獨的模塊包含到所有的 ASP 頁面中。
index.asp
…
conn.asp
…
<%
db=”admin/database/#sjxy.mdb”
set conn = Server.CreateObject(“ADODB.Connection”)
connstr=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” & Server. MapPath(“”&db&””)
conn.Open connstr
%>
…
這樣當修改數據庫連接時,所有包含 conn.asp 的頁面引用的數據庫連接都會得到修 改,從而大大減輕了代碼開發的工作量??梢愿玫谋WC軟件的質量,這也是模塊化和降 低軟件之間耦合性思想的體現。
3.3.2 控制權限
小類管理員。各自有相應的權限管理文章信息。系統管理員擁有本站最高管理權限:
if session(“rank”)>1 then
response.Write “
end if
通過后臺管理員的 rank 屬性可以跟蹤管理員的權限,rank 值從數據庫中讀出后是放 在 Session 中的。例如上邊的這個操作只允許系統管理員具有,而 rank 值大于 1 的根據 約定不是系統管理員,所以會顯示一個如上的報錯頁面。
系統中所有存儲在系統中的密碼都是可以 MD5 不可逆轉的方式進行加密。加密的目的是防止通過打開 Access 數據庫直接得到各個賬號的密碼,包括管理員。
rs(“password”)=md5(trim(request.form(password”)))
3.3.3 驗證碼登錄的實現 為了防止惡意的使用程序不斷猜測帳號密碼,系統采用了驗證碼。驗證碼的的主要思
想就是在用戶的登錄界面隨機生成一個數,在用戶登錄時同時輸入這個數。用系統中記錄 的這個隨機數和用戶的輸入進行驗證就可以防止惡意請求登錄頁。
使用驗證碼的難點在于如圖將數字 9587 轉換為一個 9587 的圖片顯示出來。這個功能在一個獨立的 ASP 頁面中完成,其中使用了 ADO 的 Stream 對象讀寫文件的內容。
<%
Option Explicit //強制申明所有使用的變量 NumCode
Function NumCode()
Response.Expires = -1//若將 Response.Expires 設置為負數或 0,則禁用緩存 Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"//禁止使用緩存,上面幾行代碼的作
用是保證頁面能夠自動刷新,即使使用后退返回到原先的頁面
dim zNum,i,j dim Ados,Ados1
Randomize timer
zNum = cint(8999*Rnd+1000) //生成隨機數
Session("GetCode") = zNum //將隨機數的值使用 session 來存放
dim zimg(4),NStr NStr=cstr(zNum) For i=0 to 3
zimg(i)=cint(mid(NStr,i+1,1)) //min 函數表示返回 NSir 字符串的從第 i+1 個位置開始的 1 個字符,這意味著 zimg(i)對應 zNum 的第 i 個字符
Next dim Pos
set Ados=Server.CreateObject("Adodb.Stream") Ados.Mode=3
Ados.Type=1
Ados.Open
set Ados1=Server.CreateObject("Adodb.Stream") Ados1.Mode=3
Ados1.Type=1
Ados1.Open//ADO 流 對 象 可 以 讀 取 文 件 內 容 , Ados 流 對 象 就 是 讀 取
include/body.Fix 的內容 Ados.LoadFromFile(Server.mappath("include/body.Fix")) Ados1.write Ados.read(1280) //讀出 1280 個字節
for i=0 to 3
Ados.Position=(9-zimg(i))*320 //計算出在 Ados 流中的位置,即 9 減去這 個值再乘以 320
Ados1.Position=i*320//計算出應該在 Ados 流中寫的位置,即 320 個字節寫
一個數Ados1.write ados.read(320)//寫從 include/body.Fix 中讀出的 320 個字節
Next //循環處理四位數上的各個位
//Ados 流重新指向 include/body.Fix Ados.LoadFromFile(Server.mappath("include/head.fix")) Pos=lenb(Ados.read())//返回 Ados.read()一次讀取的內容的字節長度 Ados.Position=Pos
for i=0 to 9 step 1
for j=0 to 3 //j 每增加 1,Positiond 的值增加 320,剛好可以和上面的值
對應起來
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
next
next
Response.ContentType = "image/BMP" //寫出的類型為一個 bmp 圖片 Ados.Position=0
Response.BinaryWrite Ados.read() Ados.Close:set Ados=nothing Ados1.Close:set Ados1=nothing
End Function
%>
3.3.4 CSS 樣式表
CSS 是 Cascading Style Sheets(層疊樣式表單)的簡稱。更多的人把它稱作樣式 表。顧名思義,它是一種設計網頁樣式的工具。借助 CSS 的強大功能,網頁將在您豐富的 想象力下千變萬化。用很簡單的 CSS 語句就可以實現許多需要專業軟件才可以達到的效果。 利用屬性可以設置字體、顏色、背景等頁面格式;利用定位可以使頁面布局更加規范、好 看;利用濾鏡可以使頁面產生多媒體效果。 在數計學院網站中,就是運用了該技術規范了站點字體的統一。
3.3.5 MD5 加密算法
MD5 是一種單向加密算法,只是對數據進行加密。沒有辦法對加密后的數據進行解密。 在數計學院網站中,MD5 加密運用在了用戶登錄密碼的加密上。使得用戶帳號安全得到保 證,數據庫系統更安全。
4. 結語
當前,貴州民族學院數學與計算機科學學院網站經過測試,達到了預期的目標,并且 在學院網絡小組的維護下正常使用。
4.1 網站建設目前存在的問題
1、安全隱患,由于數計學院網站是租用遠端虛擬服務器端,這就在 IIS、ODBC 等方 面的設置上有所局限,這是自身無法保證的安全隱患。
2、網站的內容較單調。除了少數方面的內容比較豐富之外,其它方面內容大多只是 本組的簡單介紹、師資介紹,少數的政治教學素材和資源的發布,內容比較單調。有些網 站的內容看似比較豐富,但真正適用的內容較少。
3、更新周期長,內容老化。網站建設是一項長期的復雜的系統工程,對網站內容進 行定期更新、維護是保持網站生命力的基本要求。但是從調查的實際情況看卻不容樂觀, 許多政治教研組網站是重一次性建設,輕后續建設,更新周期長。
4、頁面死板,形式單一,技術含量低。表現在網頁大多為靜止頁面,缺乏動感;大 多為純粹的黑白文字頁面,缺乏對眼球的吸引力和沖擊力;頁面編排大多為將眾多鏈接簡 單、呆板地堆砌起來,美感不足,使訪問者繼續瀏覽的興趣大減。
5、缺乏交互功能和服務功能,表現為訪問者的被動瀏覽,參與性、交互性較差。如 聊天室、BBS 等學院師生間交流平臺缺乏。
6、網站的特色不突出。由于時間倉促,站點頁面設計借鑒了其他兄弟學校的同類網 站建立起來。
4.2 加強數計學院網站建設的對策
1、提高學院師生的信息技術水平,轉變教師教育教學觀念,適應網絡時代的特點。 在網絡時代,教學的成效將更多地依賴于"交互式"的信息傳輸方式,教師之間以及教師與
學生之間的將會更加平等的互動交流。
2、 加強學校硬、軟件投入。改變教學手段信息技術是一項高投入的工程,也是科技 含量最高、技術更新相當迅速的產業。
3、要把握好正確的建網原則,這一點很重要。主要包括: 方向性原則——網站資源健康向上、積極有益,在保證資源的統一性和多樣性的同時,
要提倡內容能體現本組的特色,例如本組教師的原創成果; 針對性原則——網站內容、欄目設置、網頁設計等都要針對師生的特點和本組的特色,
增強網站的親和力和感染力,吸引師生主動參與,寓教于樂; 廣泛性原則——網站建設不僅要調動本組內一切信息資源,同時要發揮廣大同行與學
生參與的熱情,擴大參與面,讓師生在參與中共同進步; 服務性原則——要將教育與服務融為一體,增強網絡服務功能,如,開設“建模導”、
和“資源共享”等欄目。
4、開設數計學院網站的互動與服務功能。通過電子郵件、聊天室、BBS 或者留言板等 形式,師生可以在平等、信任的情境中就普遍關心的熱點、難點問題進行自由討論、交流 互動。我認為,數計學院網站,首先應該是為本組教師提供一個網上教研的平臺,這就有 別與其他的院校宣傳性網站,也更能顯示數計學院網站的特色功能——網絡化的學院教 研。當然,數計學院網站還必須“走出去”,加強校際教研組之間的交流,共同發展。
各院校在開拓和利用網絡這一新領域來開展宣傳、教學工作輔助等已經做了有益的嘗 試,取得了初步成功。例如,我校的建筑工程系網站建設可以說是成功的,為我們提供了 樣板。數計學院網站只是院務管理的一個小模塊,今后我們將進一步努力,不斷學習和研 究新技術,開發出更多更好的符合我院現代化辦公的站點功能。
本文發布于北京網站建設公司尚品中國http://tcggg.cn/
推薦新聞
更多行業-
信息與數據的關系及交互的過程
信息與數據的關系幾乎和信息同樣廣泛使用的另一個概念是“數據...
2014-06-15 -
什么是網絡輿論?
輿論,在中國古代漢語中可理解為“輿人之論”。&...
2014-06-18 -
網站制作設計需要掌握的六大技巧
當今互聯網飛速發展,人們已經習慣通過登錄網站去查找信息,那么如何讓人們...
2012-08-03 -
企業網站建設服務選擇需要注意哪些細節
近年來,做企業網站建設的服務不斷增多,每家公司在企業建站方面的經驗、技...
2020-07-22 -
網站建設必須要思考目標受眾
近年來網站建設需求越來越大,可是很多企業在投入不少資金之后卻發現網站并...
2019-10-23 -
網站建設的繼承和創新
創新,一直以來,都是網站建設經營者們嘴邊的熱門詞匯,因為創新代表著新機...
2015-01-19
預約專業咨詢顧問溝通!
免責聲明
非常感謝您訪問我們的網站。在您使用本網站之前,請您仔細閱讀本聲明的所有條款。
1、本站部分內容來源自網絡,涉及到的部分文章和圖片版權屬于原作者,本站轉載僅供大家學習和交流,切勿用于任何商業活動。
2、本站不承擔用戶因使用這些資源對自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問題參見國家有關法律法規,當本聲明與國家法律法規沖突時,以國家法律法規為準。
4、如果侵害了您的合法權益,請您及時與我們,我們會在第一時間刪除相關內容!
聯系方式:010-60259772
電子郵件:394588593@qq.com