出版時間:2008 出版社:清華大學出版社 作者:韓國峰 頁數:592
Tag標簽:無
前言
嘿,您好,我叫韓國峰,生于二十世紀八十年代。在我寫這本書的時候,有一個熱門詞匯叫做“八零后”。而我,則可以被稱為一個“八五后”的IT寫手。在2002年的時候,我開始學習ASP,到如今算來已經有六個年頭了。在我學習ASP的時候,使我迷茫的往往不是ASP的技術上的問題,而是,ASP究竟、是否、還能夠“走多遠”。網上不乏有文章說到“ASP已經到了其末路,而微軟以ASP.NET來取代了ASP”、“學習ASP沒有前途,也沒有‘錢途’”。當然,我們不能完全地否認這些觀點,尤其是當我們面對很現實的問題——很多ASP程序員的工資相對.NET程序員來說還比較低(很遺憾這一點,如果您是這其中的一員,我強烈的建議您讀讀這本書,因為,這本書有可能會讓您的老板對您刮目相看并提高您的工資)。我竊以為,ASP還是可以存活相當長一段時間的。ASP、PHP、ASP.NET、JSP它們各有各的特色所在,這也就是為什么不能簡單的說ASP.NET是ASP的簡單升級了(在開始的時候,ASP.NET還叫做ASP+)。ASP.NET和JSP更偏重于企業(yè)化的開發(fā),它們更強調一些面向對象的特征以及代碼的模塊性、協(xié)同工作性和開發(fā)效率。而PHP也被眾多大型的網站所采用,首先,PHP一般部署在開源免費的Linux平臺上,這可以降低企業(yè)的成本。那么我們的ASP呢,我認為,ASP是初學者學習網站編程的一個很好的起點。有人將ASP比作自行車,非常容易上手,放在家里,隨便去哪里都可以騎,相比ASP.NET這輛汽車,會讓您少面對很多問題,譬如堵車:)。的確是這樣的,試想,編寫一個小型的網站,我們的確可以使用ASP來快速的完成工作,熟練的程序員利用自己的代碼庫,也許在ASP.NET程序員還沒有建立好“網站解決方案”之前就完成了大多數的編碼(一個夸張的比喻)。而ASP相對于.NET來說,沒有將大多數的HTTP往來操作細節(jié)以服務器端控件的形式予以隱藏(即POSTBACK的思想),因此,學習ASP更利于對網站編程中的客戶端與服務器端的交互進行更好的理解。當然,紙上談來終覺淺,覺知此事要身躬。既然看到了這本書,您不妨就將它認真的讀下去,以后有機會和其他的網頁編程方案進行比較時您會有更多的體會。下面來談談如何學習網站編程。網站編程的學習不是一個孤立的過程,其中諸如語法這樣的編程本身的問題只是一個方面,如果說像ASP.NET這樣的技術可以將網站編程的各個環(huán)節(jié)有效分開的話,那么對于學習ASP而言,您就要解決更多的問題,這并非是麻煩,而是要求您學習、了解更多的知識。首先,您需要對什么是網站這樣一個問題有自己的認識。您在平常上網時,打開頁面需要點擊鏈接、注冊用戶需要提交表單,而現在您有一個機會來自己做這樣一個東西。具體如何做,在書中我將為您一一道來。就做網站而言,有很多常見的任務:它們的算法是怎樣的、數據結構是如何設計的、數據是如何存儲的,這些是您需要在制作網站中自己理解和總結的。舉一個簡單的例子,今天在論壇上看到有朋友問,像校內網里面和好友打招呼這樣的操作是如何完成的,可能在一般人眼里,這個功能很復雜,當您點擊“打招呼”按鈕的時候,是不是直接向對方的瀏覽器傳遞一條信息呢?不是的,這仍然還是一個最簡單的數據存儲,當點擊“打招呼”按鈕時,不過是將相應的數據存到數據庫中,當對方瀏覽頁面時再取出這個信息,并加入提示。有大量類似的操作其數據的存儲和使用方式都是一樣的,比如論壇短消息等,這種舉一反三的能力是至關重要的。當您對諸如此類的網站基本任務都有所了解和研究后,語言本身可能就不會是重點問題了,無論用ASP、PHP、.NET都是可以實現的。其次,對于客戶端編程技術,我們也應當有些了解,在服務器端用ASP的環(huán)境來編程,而在客戶端,我們一般采用JavaScript來進行編程。由于對用戶體驗和Ajax的狂熱,JavaScript近年來地位大大提高,它對于服務器端的程序會有很大的輔助作用,甚至在某些特殊情況下,能夠減少90%的服務器端代碼。另外,熟知符合Web標準的HTML和CSS也會讓您的服務器端代碼省卻很多工作,比如最簡單的,在商城網站的設計中,每一行需要放三個商品圖片,通常用表格布局時您需要判斷是否到達指定數量,需要輸出結束一行表格的代碼,而使用符合Web標準的代碼,即使用這樣的代碼,您可以在CSS中輕松控制每個圖片的寬度高度,多出的圖片會自動排版到下一行。最后,就是職業(yè)生涯的問題了,如果您不想一直悶頭于天天寫重復的代碼,那么我有兩個建議:第一,您可以通過學習設計模式、敏捷開發(fā)一類的知識,來學會對項目進行總體規(guī)劃,進而學習項目管理的知識,了解如何帶領團隊開發(fā)出膾炙人口的網站;第二,您可以了解網站推廣、網絡營銷的知識,從商業(yè)角度來看待網站開發(fā)的工作。在以往的書籍寫作中,由于出版社的出版要求不同,我在寫作時,更多的采用嚴肅認真和教材一樣的風格,而在這本書,感謝陳冰老師給了我一個機會,采用與以往完全不同的風格來進行寫作。在這本書里,更多的,我想和您以聊天一樣的自然語言來討論ASP的學習?!傲奶臁笔欠駮沟梦业膶懽鞑徽J真呢,當然不是。在寫作之前我就了解到,陳冰老師是一個對自己策劃的圖書非常嚴格甚至出了名的苛刻的編輯。在寫作這本書中我也始終惴惴不安。所以,我力圖使得我的書能夠對您有最大的幫助。我剛才說了,這本書與我以往,甚至與您所看到的大多數技術書籍,風格不同,這個風格也不止體現在語言上,很多時候也體現在內容中。作為草根派的我,并不愿意在自己的作品中太多的用教條的方式來講解整整一本書的理論,我希望將我這幾年來開發(fā)ASP的方法、技巧和感想與您分享。所以,對于本書中講解理論的部分,您應當更加重視,這是因為,這些理論是我從大量的技術文檔中提煉出來的一些自己認為比較有用的內容,希望可以讓您的學習事半功倍。當然,我強烈建議您在閱讀本書前,從網上找到相應的語法手冊作為參考和補充(提示:上Google搜索“VBScript手冊”、“SQL手冊”等)。另外,我活躍在在藍色理想論壇上,在后臺數據庫編程版面,曾經參與過很多的討論,也解答了各個階段的從事ASP的朋友們的上千個問題,通過對這些問題的總結,我也希望在本書中能夠盡量掃清您在初學ASP時的障礙。而在實例部分,您可以了解到我的一些開發(fā)思想。開發(fā)思想是無所謂完全正確或者錯誤的,您可以帶著疑問和批判的眼光來看,同時也歡迎和感謝您對我的書中的內容提出質疑,這個時候請您發(fā)郵件給我,我們進行討論,并共同進步。在本書中您只能學到ASP以及網站編程的知識嗎?不是的。正如我上面談到的,如果您想比其他的程序員更進一步的話,那么我認為您還有很多與ASP相關聯(lián)的知識要學習。本書的一個特色就是,我為您提供了對于一個網站的完整的解決方案的講述,這里面還包括了網頁的制作(我更偏向于使用最近比較流行的DIV+CSS方式),簡單的客戶端腳本的開發(fā)(例如JavaScript,書中我將幫助您完成使用JavaScript的流行框架——Prototype庫來完成這些工作)。另外,我所學的專業(yè)是電子商務,我希望能夠在我的專業(yè)范圍內,對于網站的運營和網絡營銷這些知識給您一些幫助。這本書的寫作,是從2007年2月開始的,寫了七、八個月完成了初稿之后,又在陳冰老師的悉心指導和批評下,進行了長達四個多月的修改,經過出版社的層層把關,最終呈現在您的面前。這不是我出版的第一本書,然而我可以肯定,這絕對是我截止到目前,寫的最認真的一本書。我學習ASP已經有六個年頭了,我非常希望能夠把我這六年的經驗和感想做一個總結,算作自己在ASP的路上的一個里程碑,感謝出版社和讀者給我的這個機會。聽我絮叨的“自吹自擂”了這么長時間,現在您可以泡一杯清茶,坐在電腦旁,翻開這本書,來邁出ASP網站編程的第一步,我們將在書中繼續(xù)聊,如果聊得還不盡興,您可以發(fā)送郵件到hanguofeng@yeah.net來聯(lián)系我。最后,我對給予我指導的前人的著作和作者表示深深的感謝,他們的著作指引許多人入門直至成為專家。對網上熱心的教程寫作者進行感謝,他們默默無聞、不計報酬的傳播知識的態(tài)度令人敬佩。對我的家人和朋友,尤其是我的母親表示歉意和感謝,他們對我寫作本書時的“躲進小樓成一統(tǒng)”一直包容和體諒著。
內容概要
ASP是Active Server Pages的簡稱,它是一種經典的網站編程環(huán)境,使用ASP你可以利用運行環(huán)境提供的功能來完成一個動態(tài)網站的開發(fā)。Access和SQL Server都是知名的數據庫解決方案,它們?yōu)榫W站運行所必須的數據提供了容器。 本書基于如上三個核心,深入淺出地闡述了使用ASP進行動態(tài)網站開發(fā)的基本知識和開發(fā)技巧。在這本書中,作者不僅講述了語言本身,還大大拓展了語言之外的東西,譬如對如何用全局的觀點進行系統(tǒng)設計開發(fā)、網站的運行效率和健壯性,甚至如何利用網站進行營銷等等這些內容都一一進行了詳述。全書語言風趣幽默、通俗易懂,全書貫穿大量精心設計的范例,對難點、疑點的講解極為透徹,讓你邁入ASP學習的第一步直至攀上網站開發(fā)及運營的珠穆朗瑪峰。 本書的另外一個特色就是不僅講解ASP本身,同時還講解了前臺腳本——JavaScript和符合Web標準的網站設計知識,讓你了解前臺和后臺是如何進行絕妙搭配的。
作者簡介
韓國峰(網名玄貓),互聯(lián)網草根派,個人站長。研究網站制作、網站經營和推廣多年。
一直使用ASP作為主要工作語言,熟練使用ASP、JavaScript進行符合Web標準的網站開發(fā)。自行設計并開發(fā)了多個網站系統(tǒng)和基于B/S的管理信息系統(tǒng)。曾經作為網站安全審計工程師混跡于民間網絡安全界。在自學網站編程中摸索出一條可行、快速的方法。
自由撰稿人,撰寫和翻譯了很多技術文章發(fā)布于網上。對電子商務、網絡營銷、用戶行為、設計模式感興趣。目前關注敏捷網站開發(fā)、關系網絡的營銷和推廣,以及新經濟下的互聯(lián)網營銷模式。
書籍目錄
第1章 開啟ASP網站編程的大門 1.1 什么是ASP 1.2 ASP可以做什么 1.3 安裝運行ASP的環(huán)境——IIS 1.4 創(chuàng)建你的第一個ASP站點——IIS的相關配置 1.5 為網站增加數據庫支持——安裝Access 1.6 使用ASP的輕量級數據庫軟件Access 1.6.1 創(chuàng)建Access數據庫和數據表 1.6.2 在Access中導入數據 1.6.3 使用Access的技巧 1.6.3.1 壓縮和修復數據庫 1.6.3.2 為數據庫加入密碼 1.7 為網站增加企業(yè)級數據庫應用——安裝SQL Server 1.8 使用企業(yè)級數據庫應用軟件SQL Server 1.8.1 在SQL Server Management Studio中創(chuàng)建數據庫和數據表 1.8.2 在SQL Server Management Studio中備份和恢復數據庫 1.8.3 應用SSIS進行數據的導入導出 1.9 其他解析環(huán)境的配置 1.9.1 解析環(huán)境的原理 1.9.2 NetBox簡介 1.9.3 NetBox的安裝和配置 1.9.4 ASP Web Server簡介 1.9.5 ASP Web Server的安裝和配置 1.10 選擇一個順手的開發(fā)工具 第2章 ASP的編程特性—— VBScript語法 2.1 VBScript語法初窺 2.2 如何學習ASP 2.3 初學語法第零步:我將如何開始 2.4 初學語法第一步:數據處理——VBScript的變量、常量與數據類型 2.5 初學語法第二步:計算、比較和邏輯——VBScript的運算符 2.6 初學語法第三步:流程控制——VBScript的流程控制語句 2.6.1 條件判斷語句 2.6.2 循環(huán)語句 2.7 初學語法第四步:函數——VBScript的函數 第3章 ASP的網站特性——內部對象和常見組件的使用 3.1 輸出信息用的Response對象 3.1.1 Response對象簡介 3.1.2 Response對象的方法、屬性和集合 3.1.3 小案例——使用循環(huán)和Response制作出生日期選擇組控件 3.2 獲取信息用的Request對象 3.2.1 Request對象簡介 3.2.2 Request對象的方法、屬性和集合 3.2.3 小案例——用Cookies記住訪問者的名字 3.3 會話期間信息存儲的Session對象 3.3.1 Session對象簡介 3.3.2 Session對象的方法、屬性和集合 3.3.3 小案例——用戶登錄模塊 3.4 應用程序生存期間信息存儲的Application對象 3.4.1 Application對象簡介 3.4.2 Application對象的方法和集合 3.4.3 小案例——Application制作的簡單聊天室 3.5 服務器功能的Server對象 3.5.1 Server對象簡介 3.5.2 Server對象的方法和屬性 3.6 加強ASP的功能——ASP的常用組件簡介 3.6.1 使用FileSystemObject組件讀取和編輯文件 3.6.1.1 使用FSO讀取文本文件的頁面read.asp 3.6.1.2 使用FSO保存文件的頁面save.asp 3.6.1.3 關于FSO,我還有要說的 3.6.2 使用Jmail組件發(fā)送郵件 3.6.3 使用AspJpeg組件編輯圖像——創(chuàng)建一個圖片的縮略圖 3.7 特殊的ASP文件——Global.asa 3.7.1 Global.asa文件簡介 3.7.2 利用Global.asa制作在線人數計數器 3.8 ASP開發(fā)的規(guī)范淺談 第4章 數據訪問的語言——SQL語法與ASP數據庫訪問 4.1 數據庫的歷史探索和前景 4.2 什么是SQL語言 4.3 在哪里執(zhí)行SQL語句 4.4 選取記錄的語句——SELECT語句 4.4.1 SELECT語句的基本結構 4.4.2 WHERE子句 4.4.3 ORDER BY子句 4.4.4 其他子句 4.4.4.1 選取謂詞 4.4.4.2 分組語句GROUP BY 4.4.4.3 條件篩選語句HAVING 4.5 插入記錄的語句——INSERT語句 4.6 更新記錄的語句——UPDATE語句 4.7 刪除記錄的語句——DELETE語句 4.8 ASP進行數據庫訪問的方法 4.8.1 數據訪問組件——ADO 4.8.2 與數據庫進行連接 4.8.3 執(zhí)行SQL命令 4.8.4 你的第一個ASP操作數據庫的程序——進行查詢并得到記錄集 4.8.5 使用ADO插入、更新和刪除記錄 4.8.6 對“使用ADO插入、更新和刪除記錄”的思考 4.8.7 Open方法的常用參數——游標類型和鎖定類型 4.9 我還有話要說 第5章 使用JavaScript框架豐富你的網站 5.1 什么是JavaScript框架 5.2 主流JavaScript框架介紹 5.3 如何開始使用Prototype框架 5.4 使用Prototype框架簡化JavaScript編寫 5.4.1 $()函數——獲取一個DOM元素 5.4.2 $F()函數——獲得網頁上表單元素的值 5.4.3 document. getElementsByClassName()方法——獲得指定CSS名稱屬性的對象集合 5.4.4 Element.hide/Element.show方法——隱藏/顯示頁面上的對象 5.4.5 Element.toggle方法——改變對象的顯示/隱藏 5.5 什么是Ajax 5.6 使用Prototype框架引入Ajax功能 5.6.1 你的第一個Ajax程序——使用Ajax.Request類 5.6.2 Ajax對象的屬性詳解 5.6.3 Ajax.Updater類——一個輸入學號獲得姓名的例子 5.7 使用script.aculo.us效果庫——增強用戶體驗 5.7.1 script.aculo.us是什么 5.7.2 如何開始使用script.aculo.us效果庫 5.7.3 script.aculo.us的頁面效果及其運用 5.7.4 script.aculo.us的頁面控制組件及其運用 5.8 我還要說的話 第6章 邁出你的第一步——留言本實例 6.1 必要的準備——案例分析 6.2 系統(tǒng)的設計 6.3 數據庫設計 6.4 數據庫鏈接文件 6.5 顯示留言頁面功能 6.6 添加留言功能 6.7 管理員登錄部分 6.8 改進留言顯示以引入管理功能 6.9 回復留言功能的設計制作 6.10 刪除留言功能的設計制作 6.11 我還有話要說 第7章 長尾經濟學的網站體現 ——貼吧實例 7.1 貼吧網站的特色模式分析——長尾和用戶操作簡便性 7.2 貼吧實例系統(tǒng)分析 7.3 貼吧數據庫分析和制作 7.4 準備工作——公用模塊的編寫 7.4.1 數據庫鏈接文件 7.4.2 函數庫文件 7.4.3 網頁頭部和尾部 7.4.4 JavaScript文件 7.5 貼吧主線——系統(tǒng)首頁、帖子列表和帖子 7.5.1 系統(tǒng)首頁 7.5.2 帖子列表 7.5.2.1 讀取基本信息和生成相應SQL語句部分 7.5.2.2 顯示頁面頭部部分 7.5.2.3 輸出帖子列表及分頁導航部分 7.5.2.4 顯示發(fā)帖表單部分 7.5.3 為你的程序加入驗證碼 7.5.4 貼吧主線——發(fā)布帖子 7.5.5 貼吧主線——瀏覽帖子 7.5.6 貼吧主線——發(fā)布回復 7.6 用戶部分 7.6.1 用戶注冊 7.6.2 在ASP中使用正則對象對用戶輸入進行檢查 7.6.3 用戶登錄退出 7.7 管理部分 7.7.1 貼吧公告管理 7.7.2 貼吧帖子和回復管理 7.7.3 系統(tǒng)管理 7.8 補充知識:關于Dreamweaver CS3中的Spry腳本庫 7.9 我還有話要說 第8章 有“Web 2.0特色”的網站——圖片分享 8.1 Web 2.0的狂潮 8.2 JavaScript——憑誰問“尚能飯否” 8.3 分享的快樂——我看分享類網站 8.4 圖片分享系統(tǒng)分析 8.5 數據庫設計 8.6 通用模塊設計 8.6.1 數據庫鏈接 8.6.2 函數庫 8.6.3 顯示樣式 8.6.4 JavaScript文件 8.7 公用頁面元素 8.7.1 頭部元素_head.asp 8.7.2 尾部元素_foot.asp 8.7.3 側邊欄_sidebar.asp 8.8 用戶模塊 8.8.1 用戶注冊 8.8.2 使用MD5對用戶密碼進行加密 8.8.3 用戶登錄 8.8.4 用戶密碼找回——原理與實現 8.8.5 用戶資料修改 8.9 圖片上傳模塊 8.9.1 upload.asp文件 8.9.2 新建相冊的彈出窗口 8.9.3 網站文件上傳原理 8.9.4 Upfile.asp文件——在ASP中上傳文件 8.9.5 補充知識:上傳漏洞簡介 8.10 圖片瀏覽和編輯 8.10.1 系統(tǒng)首頁 8.10.2 圖片列表瀏覽 8.10.3 圖片詳情列表瀏覽 8.10.4 圖片編輯 第9章 網上的新家——博客系統(tǒng)制作 9.1 博客改變世界 9.2 博客系統(tǒng)的新關鍵詞 9.2.1 Trackback 9.2.2 RSS 9.3 博客系統(tǒng)分析 9.4 數據庫設計 9.5 補充知識:編寫你的ASP類文件 9.5.1 什么是“類” 9.5.2 如何編寫和使用“類” 9.5.2.1 如何創(chuàng)建一個類 9.5.2.2 變量聲明 9.5.2.3 類的方法 9.5.2.4 類的屬性 9.5.2.5 類的事件 9.5.2.6 如何使用類 9.5.3 數據庫操作類 9.5.4 緩存類 9.6 通用模塊設計 9.6.1 公用配置文件config.asp 9.6.2 函數庫 9.6.3 JavaScript文件 9.6.4 頭部元素_head.asp 9.6.5 尾部元素_foot.asp 9.6.6 側邊欄元素_sidebar.asp 9.7 瀏覽模塊 9.7.1 瀏覽日志列表 9.7.2 瀏覽單篇日志 9.7.3 使用Ajax載入和發(fā)表日志評論 9.7.4 支持用RSS輸出日志更新信息 9.8 日志管理部分 9.8.1 日志發(fā)表 9.8.2 日志管理 9.8.3 日志分類管理 9.9 友情鏈接部分 9.9.1 友情鏈接顯示 9.9.2 友情鏈接分類管理 9.9.3 友情鏈接管理 9.10 留言部分 9.10.1 留言顯示 9.10.2 發(fā)表留言 9.10.3 留言管理 第10章 電子商務系統(tǒng)——網上商店 10.1 什么是電子商務 10.2 網上商店系統(tǒng)分析 10.3 使用Access 2007數據庫 10.3.1 安裝Office 2007 10.3.2 ASP與Access 2007 10.4 數據庫設計 10.5 通用模塊設計 10.5.1 函數庫 10.5.2 JavaScript文件 10.5.3 購物車類的設計 10.5.4 瀏覽記錄文件visitTrace.asp 10.5.5 頭部元素_head.asp 10.5.6 尾部元素_footer.asp 10.5.7 側邊欄元素_sidebar.asp 10.6 商品瀏覽模塊 10.6.1 系統(tǒng)首頁 10.6.2 商品列表頁 10.6.3 商品詳情頁 10.7 商品購買模塊 10.7.1 商品加入購物車 10.7.2 購物車瀏覽 10.8 用戶模塊 10.8.1 用戶注冊 10.8.2 用戶登錄 10.8.3 結賬 10.8.4 用戶訂單查看 10.8.5 訂單詳情查看 10.8.6 付款頁面pay.asp 10.8.7 網上支付和支付接口原理 10.8.8 申請云網支付接口 10.8.9 使用云網支付接口 10.8.10 使用財付通支付接口 10.9 后臺管理模塊 10.9.1 后臺設計概述 10.9.2 一種后臺管理代碼的模板介紹 10.9.3 實踐我們的后臺模板——商品管理 10.10 我還有話要說 第11章 高效的信息系統(tǒng)——分類信息系統(tǒng) 11.1 分類信息全接觸 11.2 我運營分類信息系統(tǒng)的經驗 11.3 分類信息系統(tǒng)分析 11.4 使用SQL Server 2005數據庫 11.5 數據庫設計 11.6 通用模塊設計 11.6.1 函數庫 11.6.2 JavaScript文件 11.6.3 通用信息調用類 11.6.4 頭部元素_head.asp 11.6.5 尾部元素_bottom.asp 11.6.6 側邊欄元素_left.asp 11.7 信息瀏覽發(fā)布模塊 11.7.1 系統(tǒng)首頁 11.7.2 地區(qū)查找 11.7.3 分類查找(信息列表) 11.7.4 信息搜索 11.7.5 信息瀏覽 11.7.6 信息發(fā)布——表單部分的顯示 11.7.7 信息發(fā)布——處理提交的表單 11.7.8 信息修改 11.8 用戶模塊 11.8.1 用戶注冊 11.8.2 用戶登錄 11.8.3 用戶發(fā)布信息查看 11.9 管理模塊 11.9.1 管理員登錄 11.9.2 地區(qū)維護 11.9.3 分類維護 11.9.4 信息管理 11.9.5 緩存管理 11.10 我還有話要說 第12章 企業(yè)管理信息系統(tǒng)——客戶關系管理系統(tǒng) 12.1 什么是客戶關系管理系統(tǒng) 12.2 客戶關系管理系統(tǒng)在中國 12.3 客戶關系管理系統(tǒng)設計 12.3.1 理解B/S體系的應用軟件 12.3.2 系統(tǒng)設計 12.4 數據庫設計 12.5 通用模塊設計 12.5.1 函數庫 12.5.2 通用引用文件_inc.asp 12.5.3 菜單導航頁面left.asp 12.6 登錄/退出模塊 12.6.1 使用SQL Server存儲過程 12.6.2 使用存儲過程處理登錄 12.6.3 退出登錄 12.7 部門和職員管理 12.7.1 部門管理 12.7.2 職員管理 12.8 客戶管理 12.8.1 客戶公司管理 12.8.2 聯(lián)系人管理 12.9 事件管理 12.10 字典管理 12.10.1 什么是“字典” 12.10.2 字典類型管理 12.10.3 字典管理 12.11 我還有話要說 第13章 我還有話要說 13.1 寫后感 13.2 一般人我不告訴他 13.3 如何繼續(xù) 13.4 我推薦的網站 13.5 我推薦的書籍 13.6 如何找到我
章節(jié)摘錄
第1章 開啟ASP網站編程的大門ASP—A small poisonous snake found especially in N Africa.—牛津雙解詞典1.1 什么是ASP各位親愛的讀者,在我們進行深入的ASP網絡編程學習前,我非常希望讓你們詳細了解到ASP究竟是一個什么東西。當了解了究竟ASP是一個什么樣的東西后,將大大有益于您看這本書并且更加深刻的理解我所講解的語法和例子。ASP是一個縮寫詞,它的原文是Active Server Pages,中文的意思是活動服務器頁面。這個名字非常精確的概括了ASP的特點。讓我們來依次看看這三個英文詞匯。Active:活動的。Active是ASP的核心所在,“活動的”表明了ASP與靜態(tài)網頁的區(qū)別,簡單來說,它可以根據各種請求信息的不同,使用某種編程語言進行邏輯判斷和處理,與數據庫或其他數據存儲進行數據交換,返回給用戶不同的信息,因此對于ASP這樣的服務器端解決方案,我們又稱其為“動態(tài)網頁”,有些人也把它叫做“網站后臺”,以區(qū)別于“前臺”的靜態(tài)網頁。Server:服務器。Server體現了ASP的運行環(huán)境制約。普通的HTML頁面可以由用戶下載至本地,并且可以不需要聯(lián)網就在用戶的計算機上瀏覽,而ASP頁面則不同,ASP需要一個基于服務器的解析環(huán)境(如微軟的IIS服務器)來處理,如果說“用戶得到了ASP頁面并打開”,那么有兩種可能,第一種是用戶得到了由服務器解析完畢的ASP網頁內容,此時實際上用戶獲得的是服務器根據其請求的信息所反饋的靜態(tài)HTML頁面,并不是實際的ASP源代碼。第二種是用戶真實的下載了ASP源代碼,這時如果用戶想“看”這個頁面的話,他就需要在自己的計算機上建立相應的服務器環(huán)境才可以。當然,一般網站是不會使得用戶下載到其ASP源代碼的,否則網站的信息將被泄露。Pages:頁面。Pages體現了ASP的本質,即網頁。為什么要說是網頁呢,網頁其實體現的一個叫做B/S(Browser/Server)的體系,即瀏覽器/服務器體系。同時請注意我所說的網頁是一個復數(pages),即,強調的是若干個頁面的集合完成的任務,用比較時髦的話來講就是網站所需要完成的工作是由各個動態(tài)網頁在很好的“團隊合作”下完成的,至于如何合作,我們先在這里埋下伏筆,后面會詳細提到。對上面所說的話進行一個總結,并給出一個概括的含義,即:ASP就是一個運行在特定服務器環(huán)境下解析的、可以根據用戶不同請求做出不同網頁的輸入輸出系統(tǒng)。那么ASP是不是一門語言呢?非常多的網友曾經這樣疑惑過。在這里我做一個分析。網友認為ASP是編程語言的理由主要是將其和PHP、JSP等動態(tài)網站解決方案進行類比,從而得出結論。PHP最早是1994年由Rasmus Lerdorf創(chuàng)建的。Rasmus Lerdorf最早的目的僅僅是用來統(tǒng)計他自己網站的訪問者。PHP的語法混合了C、Java、Perl以及PHP自創(chuàng)新的語法。而JSP則是屬于Sun公司的J2EE,它使用Java語言來編寫動態(tài)網頁程序并編譯后使用。而這些情況在ASP中是怎樣的呢?確切地說,ASP是微軟提供給希望使用動態(tài)網頁的程序員的一個環(huán)境,這個環(huán)境允許編程者在服務器上的HTML頁面中加入特定的代碼,在訪問者訪問時,ASP的解析環(huán)境IIS將讀取這些特定的代碼,并根據其語言結構進行處理,最終返回給客戶經過處理后的HTML信息。之所以在上面提到“特定的代碼”,是因為在ASP的設計原則上,可以使用任何語言來完成這些代碼,但是微軟的ASP解析環(huán)境—IIS默認提供了對于兩種腳本語言的支持,即VBScript和JScript,VBScript是VB的一個子集,程序員可以使用在VB中已經熟知的代碼,來編寫ASP動態(tài)網頁程序。JScript是由微軟公司開發(fā)的活動腳本語言,是微軟對ECMAScript規(guī)范的實現??梢赃@樣說,VBScript是類似VB風格的程序,而JScript是類似C語言風格的程序,微軟提供了對這兩種風格的腳本程序編寫的解析,從而使得VB程序員和C程序員都可以快速的上手ASP。再回到我們的話題中,我們稱“ASP是一個環(huán)境”,這樣說其實是非常恰當的,ASP最大的特色在于通過對ActiveX組件的調用增強其原有的功能。就ASP的基本功能來講,僅提供最基本的HTTP變量的獲取和對用戶信息的返回以及狀態(tài)保持等這樣簡單的基本功能,其對于文件的I/O操作、郵件發(fā)送、圖像處理都可以通過微軟自帶或者第三方提供的ActiveX組件來實現。相對于PHP默認提供的對大量常用動態(tài)網頁所需要使用的函數,ASP采用組件擴展的方案來解決這一問題,是不是說明ASP不如PHP呢?不是的。應該說兩者各有特點。1.2 ASP可以做什么我可以負責任的告訴各位讀者,ASP可以做的事情遠遠超出各位的想像。在網上出現了很多文章,說ASP不可以實現某些功能,其實這是不負責任的說法,作為微軟提供的已經成熟的運行了多年的動態(tài)網頁解析環(huán)境,ASP3.0可以被稱之為最好的動態(tài)網頁解決方案之一了。另外需要特別說明的是,大家在任何時候都不要忘記ASP最核心的擴展內容:ActiveX組件,試想,如果你可以使用自己所熟悉的任何一種開發(fā)工具,使用自己所熟悉的編程語言進行相應的開發(fā)、生成ActiveX組件的Dll文件,并在ASP中進行調用,那么還有什么不可以做的呢。具體的歸類來說,ASP可以做這些事情:ASP可以獲得用戶的請求作為ASP最基本的功能,使用ASP可以制作響應用戶不同請求,并根據請求給予數據返回的動態(tài)網頁以及動態(tài)網頁的集合—動態(tài)網站。這些請求主要是指用戶顯式或者隱式輸入的地址欄變量、表單變量和Cookies變量等。打個比方說,我們平常注冊電子郵箱,是這樣一個過程:首先打開注冊頁面,你會看到若干個需要填寫的信息,例如用戶名、密碼等,這些需要填寫的內容就構成了一個表單,當你填寫完畢這些表單并且提交時,你所填寫的數據將會傳送給動態(tài)網頁(當然,在這里是指ASP),ASP可以很簡單的獲得你所填寫的數據。ASP可以與幾乎所有的數據庫進行通訊在ASP獲得完畢這些數據后,可以和數據存儲—數據庫進行一個溝通的操作,比如,ASP會詢問數據庫,你剛才在表單中所填寫的用戶名在數據庫中是否已經存在了,如果已經存在,那么ASP會根據數據庫的返回信息,給用戶一個返回重復注冊的信息。ASP可以響應用戶請求向客戶端輸出數據在使用ASP向客戶端輸出數據時,不僅可以輸出HTML代碼,還可以通過ASP的相關功能來更改響應類型同時輸出二進制數據,從而來向客戶端輸出二進制代碼,例如圖片、壓縮文件等。ASP可以利用服務器的資源進行某些操作ASP可以通過組件在服務器上進行分析和修改圖片文件、獲取其他網站網頁內容以及進行運算等操作。譬如可以通過ASP設計一個在線的網頁代理,用戶請求某個網頁的內容,此時由ASP在服務器上獲取遠程網頁的內容并返回給用戶。在上面我提到了從理論角度來講,ASP可以做的事情,那么,實際上來講,我們所見到的什么,是動態(tài)網頁和ASP可以做到的呢?
媒體關注與評論
你應該了解真相,真相會使你自由。 ——《圣經》
編輯推薦
《ASP第一步》語言風趣幽默、通俗易懂,《ASP第一步》貫穿大量精心設計的范例,對難點、疑點的講解極為透徹,讓你從邁入ASP學習的第一步直至攀上網站開發(fā)及運營的珠穆朗瑪峰。ASP還能存活多久?!學習ASP能比學習ASP.NET多了解些什么???透徹掌握數據庫訪問和應用開發(fā)。ASP+JavaScript+Ajax+Web標準。在線支付接口的原理、使用與開發(fā)。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載