心得體會是指一種讀書,、實踐后所寫的感受性文字,。大家想知道怎么樣才能寫得一篇好的心得體會嗎?下面我?guī)痛蠹艺覍げ⒄砹艘恍﹥?yōu)秀的心得體會范文,我們一起來了解一下吧,。
asp實訓(xùn)報告心得體會篇一
現(xiàn)在在asp的世界中,asp的應(yīng)用相當(dāng)?shù)膹V泛,,在很多方面都有有用到,。一方面,用戶擁有一套設(shè)備,,例如 pc,、移動電話、筆記本,。這些設(shè)備可能放在辦公室或者家里,。當(dāng)用戶需要在辦公室的某臺設(shè)備或移動電話上訪問家中存儲的的信息(電子郵件或其他任何信息)時,,問題就出現(xiàn)了,,因為所有這些設(shè)備都將數(shù)據(jù)存儲在不同的位置。用戶認(rèn)為需要一種個人信息空間,,通過它,,用戶可以在家中或途中訪問存儲在辦公室的信息,或者以相同方式從任何位置訪問存儲在家中的信息,。另一方面,,開發(fā)人員沒有足夠的工具來開發(fā)用戶所需的解決方案。 結(jié)果是,,站點雖然頗具吸引力卻缺乏有效性和實用性,。此外,需要為不同的設(shè)備開發(fā)不同的代碼,,這也使開發(fā)人員頗感為難,。如果開發(fā)人員擁有某些工具,使他能夠只編寫一次代碼,并可在多種設(shè)備中部署該代碼,,將可以提高開發(fā)人員的工作效率,。這是開發(fā)人員的需求。
在asp中我們還學(xué)習(xí)了fso,、cgi,、php等,那什么是fso呢?而fso是微軟asp的一個對文件操作的控件,,該控件可以對服務(wù)器進(jìn)行讀取,、新建、修改,、刪除目錄以及文件的操作,。是asp編程中非常有用的一個控件。但是因
為權(quán)限控制的問題,,很多虛擬主機(jī)服務(wù)器的fso反而成為這臺服務(wù)器的一個公開的后門,,因為客戶可以在自己的asp網(wǎng)頁里面直接就對該控件編程,從而控制該服務(wù)器甚至刪除服務(wù)器上的文件,。因此不少業(yè)界的虛擬主機(jī)提供商都干脆關(guān)掉了這個控件,,讓客戶少了很多靈活性。 萬維時空的w2k虛擬主機(jī)服務(wù)器具有高安全性,,可以讓客戶在自己的網(wǎng)站空間中任意使用卻有沒有辦法危害系統(tǒng)或者妨礙其他客戶網(wǎng)站的正常運行,。cgi是一個用于定web服務(wù)器與外部程序之間通信方式的標(biāo)準(zhǔn),使得外部程序能生成html,、圖像或者其他內(nèi)容,,而服務(wù)器處理的方式與那些非外部程序生成的html、圖像或其他內(nèi)容的處理方式是相同的,。因此,,cgi程序冊僅使你能生成表態(tài)內(nèi)容而能生動態(tài)內(nèi)容。使用cgi的原因在于它是一個定義良好并被廣泛支持的標(biāo)準(zhǔn),,沒有cgi就不可能實現(xiàn)動態(tài)的web頁面,,除非使用一些服務(wù)器中提供的特殊方法(如今,也有除cgi之外的其他技術(shù)逐漸在成為標(biāo)準(zhǔn)),。php是一種服務(wù)器端html-嵌入式腳本描述語言,。 其最強(qiáng)大和最重要的特征是其數(shù)據(jù)庫集成層,使用它完成一個含有數(shù)據(jù)庫功能的網(wǎng)頁是不可置信的簡單,。在html文件中,, php腳本程序(語法類似于perl或者c語言)可以使用特別的php標(biāo)簽進(jìn)行引用, 這樣網(wǎng)頁制作者也不必完全依賴html生成網(wǎng)頁了,。由于php是在服務(wù)器端執(zhí)行的,, 客戶端是看不到php代碼的,。 php可以完成任何cgi腳本可以完成的任務(wù),但它的功能的發(fā)揮取決于它和各種數(shù)據(jù)庫的兼容性,。 php除了可以使用http進(jìn)行通信,,也可以使用imap, snmp, nntp, pop3協(xié)議。
在目前的網(wǎng)站統(tǒng)計系統(tǒng)決大部分都是cgi的,,但編寫起來特別復(fù)雜,,而asp學(xué)起來簡單,更有和數(shù)據(jù)庫結(jié)合的優(yōu)點,,所以結(jié)合自己曾經(jīng)做過的網(wǎng)站統(tǒng)計系統(tǒng),,和大家探討一下asp編寫網(wǎng)站統(tǒng)計系統(tǒng)。大家都看過網(wǎng)易的網(wǎng)站統(tǒng)計系統(tǒng),,它可以統(tǒng)計總訪問量,,每日平均訪問量,當(dāng)日訪問量,,最高訪問量,,最高訪問日期,日流量分析,,月流量分析,,周流量分析,,瀏覽器分析,,等等,。其實要做一個asp的訪問統(tǒng)計系統(tǒng)關(guān)鍵是系統(tǒng)表結(jié)構(gòu)的設(shè)計,。以及如何來采集用戶的cgi變量,如何來顯示用戶的信息,。也就是說系統(tǒng)的關(guān)鍵是兩個asp程序,,統(tǒng)計程序和顯示程序,。采集用戶名我們可以用request對象的相應(yīng)方法取得,,然后檢查用戶表判斷用戶是否合法,,然后取信息,用我們上面講到的取得相應(yīng)信息的方法取得信息,,然后進(jìn)行加工保存在數(shù)據(jù)表里,,但最重要的是如何對數(shù)據(jù)進(jìn)行更新,如當(dāng)日每小時訪問統(tǒng)計數(shù),,當(dāng)天每小時統(tǒng)計數(shù)等,我們?nèi)绾螌γ刻斓臄?shù)據(jù)進(jìn)行更新是這個程式的要點,,我們可以采取幾種方式,,如對每天的每個小時的記錄的更新我們采取在每天午夜12點更新,對每月的每一天的數(shù)據(jù)我們在月份切換的那一天進(jìn)行更新,。隨著internet的發(fā)展,,web技術(shù)日新月異,。繼通用網(wǎng)關(guān)接口(cgi)之后,“asp”(active server pages)作為一種典型的服務(wù)器端網(wǎng)頁設(shè)計技術(shù),,被廣泛地應(yīng)用在網(wǎng)上銀行,、電子商務(wù)、搜索引擎等各種互聯(lián)網(wǎng)應(yīng)用中,。同時access數(shù)據(jù)庫作為微軟推出的以標(biāo)準(zhǔn)jet為引擎的桌面型數(shù)據(jù)庫系統(tǒng),,由于具有操作簡單、界面友好等特點,,具有較大的用戶群體,。因此asp+access成為許多中小型網(wǎng)上應(yīng)用系統(tǒng)的首選方案。但asp+access解決方案在為我們帶來便捷的同時,,也帶來了不容忽視的安全問題,。由于access數(shù)據(jù)庫的加密機(jī)制非常簡單,所以即使數(shù)據(jù)庫設(shè)置了密碼,,解密也很容易,。該數(shù)據(jù)庫系統(tǒng)通過將用戶輸入的密碼與某一固定密鑰進(jìn)行異或來形成一個加密串,并將其存儲在*.mdb文件中從地址“&h42”開始的區(qū)域內(nèi),。由于異或操作的特點是“經(jīng)過兩次異或就恢復(fù)原值”,,因此,用這一密鑰與*.mdb文件中的加密串進(jìn)行第二次異或操作,,就可以輕松地得到access數(shù)據(jù)庫的密碼,。基于這種原理,,可以很容易地編制出
解密程序,。由此可見,無論是否設(shè)置了數(shù)據(jù)庫密碼,,只要數(shù)據(jù)庫被下載,,其信息就沒有任何安全性可言了。
前面所學(xué)到的數(shù)據(jù)訪問都是web應(yīng)用程序直接訪問數(shù)據(jù)庫,。這種在web窗體中直接訪問和操作數(shù)據(jù)庫中數(shù)據(jù)的方式是一種低效的資源使用方式,,并且有可能產(chǎn)生安全風(fēng)險。通過存儲過程訪問數(shù)據(jù)庫,,可以有效地提高數(shù)據(jù)訪問效率和數(shù)據(jù)的安全性,。可以在執(zhí)行復(fù)雜任務(wù)時減少窗體的編碼量,,降低對網(wǎng)絡(luò)寬帶的需求,,通過只允許可信賴的本地存儲過程直接訪問數(shù)據(jù)庫,可以保護(hù)數(shù)據(jù)庫的安全,。同時我們用到了一個容器控件repeater,,當(dāng)運行頁面時,,repeater將綁定數(shù)據(jù)源中的數(shù)據(jù),并按照模板的要求將數(shù)據(jù)在界面上呈現(xiàn)出來,。正是由于repeater控件沒有默認(rèn)的外觀,,所以進(jìn)行界面設(shè)計的時候會感到不太直觀。但repeater控件非常靈活,,可以通過對模板的靈活使用,,創(chuàng)建多種不同形式的列表,包括以特定分隔符的列表,,或者xml格式的列表,,同時它還能夠非常精確地對界面元素進(jìn)行定位。除此之外我們還添加了網(wǎng)絡(luò)在線投票功能,,網(wǎng)絡(luò)在線投票是網(wǎng)絡(luò)用戶的興趣,、價值取向以及熱點關(guān)注等信息的關(guān)注程度的一種體現(xiàn),實現(xiàn)了在線投票功能,,為了更為直觀的顯示和查看投票結(jié)果,,將投票結(jié)果圖形化是一種較好的手段。所以我們引用了一個類graphics, graphics類是gdi+圖形編程中的核心類,。他封裝了gdi+界面的繪圖方法以及圖形顯示設(shè)備,,極大地的簡化了開發(fā)人員的圖形編程工程工作。通過graphics類的屬性可以獲取graphics對象的分辨率,,并能夠為graphics對象進(jìn)行裁剪區(qū)域的選擇和判斷,,而頁面中圖形的繪制則都是通過graphics類的實例方法實現(xiàn),同時引用了web服務(wù)器控件image,。image控件同img標(biāo)簽一樣,,其主要作用是在web頁面中顯現(xiàn)圖片信息,其主要屬性為imageurl,,用于設(shè)置需要顯示的圖片的url地址,。提供的image控件可以快速地載入圖形,但卻并不支持click事件,。而且gdi+除了可以繪制圖形和文字外,,還可以繪制或編輯已有圖片,為圖片添加水印或裁剪圖片等操作,。在實際的web應(yīng)用開發(fā)中,,開發(fā)人員為了防止非法用戶惡意批量注冊或者惡意程序暴力破解密碼等操作,我們相應(yīng)的做了圖形驗證碼功能,,在用戶身份驗證時都會采用驗證碼技術(shù),。驗證碼技術(shù)可以有效防止某些特定注冊用戶采用惡意程序和暴力破解方式對網(wǎng)站進(jìn)行不斷的登錄嘗試,為此我們引用了random類,,隨即數(shù)在計算機(jī)應(yīng)用程序設(shè)計,,尤其是在實踐環(huán)境模擬和測試等領(lǐng)域得到了非常廣泛的應(yīng)用。random類是一個偽隨即數(shù)生成器,,能夠產(chǎn)生滿足一定隨即性系統(tǒng)要求的數(shù)字序列,。既然是偽隨機(jī)數(shù)生成器,產(chǎn)生的數(shù)字就不是絕對的隨即數(shù),,而是通過一定的算法產(chǎn)生的偽隨機(jī)數(shù),。
在本次課程學(xué)習(xí)過程中,我學(xué)到了好多東西,。在此特別感謝老師教誨,。老師不僅上課生動、幽默,,平時上機(jī)時又悉心的指導(dǎo),。同時感謝學(xué)校給我們提供了非常優(yōu)越的設(shè)計環(huán)境,對于我順利完成這次asp課程的學(xué)習(xí),,本次學(xué)習(xí)起到了關(guān)鍵性的作用,。也通過上次的實驗設(shè)計學(xué)會了簡單的網(wǎng)站設(shè)計,通過開發(fā)上次的系統(tǒng),,我較全面的掌握了aspt及sql的基本知識和編程技巧,,開發(fā)能力得到了進(jìn)一步的提高。如: sql語言的使用;以前學(xué)過的軟件工程知識,、數(shù)據(jù)庫原理及操作也得到了充分的應(yīng)用,。
在開發(fā)過程中我學(xué)到了一些經(jīng)驗:系統(tǒng)分析的好壞將決定著的系統(tǒng)開發(fā)成功與否,一份好分析設(shè)計將是成功開發(fā)主要因素,。我們在著手開發(fā)之前不要急于編程,,先應(yīng)有較長的時間去把分析做好,做好數(shù)據(jù)庫設(shè)計工作,,寫出相關(guān)的開發(fā)文檔等,。然后再開始編寫程序代碼,這樣做到每寫一步代碼心底有數(shù),有條不絮,。在這短短的幾個月中,,我知道在程序設(shè)計的時候,不要太在意程序是否最簡潔靈活,,對于一般開發(fā)者而言,,程序規(guī)范化和可讀性可能比追求程序的靈活性更加重要。在互聯(lián)網(wǎng)資源越來越豐富的情況下,,我們可以參考一些規(guī)范的程序源代碼來學(xué)習(xí),。同時我也知道,想要學(xué)好這門課程,,所要具備很多條件,,首先打代碼要規(guī)范,,要做注釋,這樣回頭來看程序時可以很快的看懂,,可以練習(xí)自己的邏輯表達(dá)能力,,對以后遇到難以實現(xiàn)的功能也可以很好的表達(dá)出來向別人請教,而且出去從事編程工作的話,,代碼的規(guī)范是相當(dāng)重要的,。還有一點要學(xué)會總結(jié),把自己做的程序用到的知識點列出來就可以很好的總結(jié)自己的知識點,。
asp實訓(xùn)報告心得體會篇二
一,、準(zhǔn)備工作
首先,學(xué)習(xí)asp要有些基本的編程知識.最好先學(xué)過點vb java最好因為asp不是一門編程語言而是一個web編程框架.他是利用腳本(vbscript javascript)語言做為編程語言的.如果你不會他們那么至少得會點c.c也不會的話建議你先學(xué)下c,,雖然并不是一定要先學(xué)過編程語言,,但是學(xué)他對這個的學(xué)習(xí)是有莫大的好處的.中,整張web頁是放在一張大表單里面的,。如:
網(wǎng)頁的具體內(nèi)容
在這個表單內(nèi)可能放置了很多html控件如按鈕,、下拉菜單、文本框等,。提供了一些服務(wù)器端web控件,。在服務(wù)器上執(zhí)行的時候,通過一定的條件,,web窗體將這些服務(wù)器web控件轉(zhuǎn)換為普通的html控件,。比如一個按鈕:
經(jīng)過轉(zhuǎn)換后就變成了:
中,一個web窗體被看成了一個對象,。它的數(shù)據(jù)成員就是那些web控件和你自己定義的變量,,它的函數(shù)成員就是那些用來響應(yīng)客戶端操作的函數(shù),當(dāng)然還有你自己定義的函數(shù),。我大致講一下用戶請求一張web頁的時候發(fā)生了一些什么事件:
首先,,用戶第一次請求頁面時,先執(zhí)行web頁的page_init過程,,在這里通常對組件進(jìn)行初始化,。然后執(zhí)行page_load過程,在這里,,我們可以做一些初始化的工作,。比如:設(shè)定標(biāo)簽控件的文本為:“初始”。然后,,由于用戶是第一次請求頁面,,所以沒有什么其他事件發(fā)生。程序控制轉(zhuǎn)為解釋執(zhí)行html代碼頁中的服務(wù)器代碼。在html中,,有一個這就是我們的標(biāo)簽控件,。因為我們在page_load過程中對標(biāo)簽的文本賦值了,所以現(xiàn)在程序在將轉(zhuǎn)換為初始,。而按鈕的轉(zhuǎn)換就類似于上面我已經(jīng)說過內(nèi)容,。經(jīng)過這些轉(zhuǎn)換以后,,html頁內(nèi)的代碼變成了標(biāo)準(zhǔn)的代碼,。然后,這些代碼被用戶瀏覽器得到了,。經(jīng)過解析后,,用戶就可以看到一個“初始”和一個按鈕。
現(xiàn)在,,用戶對著按鈕點擊了一下,。于是,表單就提交了,。(提交的細(xì)節(jié),,我下面再說)通過提交的表單,服務(wù)器得知這是用戶點擊了按鈕控件,。并且這是用戶第二次請求該頁面了,。于是,程序又執(zhí)行page_init過程,、page_load過程,。這時,因為用戶點擊了按鈕控件,,則程序開始執(zhí)行另一個函數(shù),,這個函數(shù)是用來專門處理用戶點擊了按鈕控件這個事件的。在這里,,我們將標(biāo)簽控件的文本設(shè)置為:“點擊”,。然后程序控制又轉(zhuǎn)到html頁。跟上面第一次請求時一樣,。于是用戶在客戶端通過瀏覽器就可以看到一個“點擊”和一個按鈕了,。
.net是通過隱藏控件來傳遞客戶端信息的,例如產(chǎn)生事件的控件的名字,。然后,,提交表單。這樣,,服務(wù)器端就可以根據(jù)隱藏控件來確定產(chǎn)生事件的控件的名字,,并產(chǎn)生服務(wù)器事件,進(jìn)而對該事件進(jìn)行處理。
對于一個熟練的程序員來說,,他也不可能完全記住每個語言的各項細(xì)節(jié).再簡單的語言也有很復(fù)雜的細(xì)節(jié),,所以幫助文件是必須的.在一次又一次的查閱中你會發(fā)現(xiàn)自己查閱的次數(shù)越來越少了.如果你基本上不查閱了,那么你已經(jīng)基本上掌握這么語言了.(為什么說基本上,,那是因為一門語言不是只有語法,,還有其他的,比如編程思想,,特性等)我列出的這些都是必須的,,當(dāng)然還可以有些別的比如xml ajax技術(shù)等
運行環(huán)境
在這里推薦iis畢竟asp是人家微軟的技術(shù).人家又那么牛,別人很難做的比他好啊!aspstudio很容易出錯,,不怎么好,,不推薦做大型項目.但是個人做點小東西的很方便很好,不過他好象不支持類的功能(也許是我沒找到支持它的版本,,有請大蝦指出).net沒用過有請大家討論下!
數(shù)據(jù)庫
建議初學(xué)的話用access因為起功能簡單.也容易上手.但是最終你還是要會大型數(shù)據(jù)庫的,,現(xiàn)在對網(wǎng)絡(luò)程序員的招聘一般要回oracle sqlserver mysql.
二、開始學(xué)習(xí)
學(xué)習(xí)asp首先得開始學(xué)習(xí)靜態(tài)頁面開始,,如果你有這方面的知識那么可以省略,。
靜態(tài)頁面
靜態(tài)頁面就是純html語言加客戶端javascript的頁面。所以你可一先學(xué)習(xí)下html語言,,但是如果不是學(xué)過面向?qū)ο缶幊痰脑?,建議你先不要看javascript。先就學(xué)點 html語言,,不要太深就學(xué)習(xí)個基本的表格,,字體樣式,基本的結(jié)構(gòu)就可以了,。然后再學(xué)會用網(wǎng)頁三劍客,。特別是要學(xué)好用dreamvear.
頁面大小:一個頁面的大小一般是寬度778像素或者是1024像素,,但是大多數(shù)是用的778因為現(xiàn)在還有很多顯示器很差設(shè)置的是778像素,。這樣能更多的支持。當(dāng)然你可以設(shè)置為百分比這樣就不會為這個而煩惱了!比如54的頁面就是設(shè)置的百分比(一般的論壇都是),。logo和banner:一般logo和banner也是有固定尺寸的logo一般88×31而banner一般是和網(wǎng)頁的寬度差不多可以是778和1024高度最好不要超過120
網(wǎng)頁標(biāo)題:好多人最開始學(xué)習(xí)的時候沒怎么注意過結(jié)果他編的網(wǎng)頁都是無標(biāo)題文檔,。記住在中間加個標(biāo)題。
網(wǎng)頁關(guān)鍵字:網(wǎng)頁的關(guān)鍵字是搜索工具檢索網(wǎng)頁的重要依據(jù),,有效的關(guān)鍵字對于提高網(wǎng)站排名及人氣很有用處,。
版權(quán)信息:一個網(wǎng)頁一定得有個版權(quán)信息,這是專業(yè)與非專業(yè)的區(qū)別,。當(dāng)然加上一些聯(lián)系方式比如郵件地址等,,方便別人的聯(lián)系。如果你的網(wǎng)站有什么問題,網(wǎng)上還是有很多熱心人通知你的,。
文件名: 建議大家才開始學(xué)習(xí)的時候就養(yǎng)成良好的習(xí)慣,。用英文命名,同時最好能表達(dá)你的文件的主要內(nèi)容,,可以是英文單詞,,或者是拼音,當(dāng)然英文是最好的,。不是特殊要求請不要用特殊字符,,比如#等
javascript:javascript開始的時候可以不用學(xué)習(xí),網(wǎng)上的這些代碼很多很詳細(xì),,連怎么樣運用都寫的很清楚,。可以直接找來運用,。
1.另外為了防止代碼亂碼,所以要有句如上面的.因為中文編碼都是gb2312不加這句很榮譽出錯出現(xiàn)亂碼
2,。開始學(xué)習(xí)的時候你可能沒注意過代碼的排版,。html你可以用dm看,但是當(dāng)你開始編輯動態(tài)頁面的時候就要注意,。一個好的排版能夠讓別人讀懂你的代碼(這個很關(guān)鍵,,你進(jìn)公司工作,不可能一個人開發(fā)整個系統(tǒng)),。關(guān)鍵是做好縮進(jìn)html代碼如是,,asp代碼也是。
3,。開始學(xué)習(xí)的時候不要貪多爭取先弄懂一的對象比如adodb,,然后在看別的。其實所有的東西基本都是一個模板,。主要是理解,,絕不要強(qiáng)求記憶。記憶是等你做多之后自然的事情,。不過最基本的對象開始你得弄懂,,比如request response要學(xué)會運用他們。
4,。開始學(xué)習(xí)的時候要弄清楚一些基本的技術(shù),。包括分頁技術(shù);數(shù)據(jù)庫的連接,數(shù)據(jù)的查詢,,刪除;數(shù)據(jù)庫的基本操作,,表的建立,刪除。
三,、編程實踐
編程只看教程,,只看書是不行的。需要你實際操作,,才知道一些細(xì)節(jié)的問題.
開始編的話可以學(xué)習(xí)編寫一些小的模塊.比如新聞顯示,,或折一個簡單的留言本.練習(xí)下.然后做個簡單的整站試下.
編程的時候要注意代碼盡量思路清晰.要有高的擴(kuò)展性,便宜以后擴(kuò)展.所以盡量做成函數(shù)和過程再在頁面里面調(diào)用.
同時這里也有些需要提醒大家注意的地方
1.前期設(shè)計工作
設(shè)計一個網(wǎng)站是其實主要的工作不是在后面的編程,,而關(guān)鍵成功的因素是在前期的歸劃.前期要弄明白你的需求是什么.要實現(xiàn)什么功能.劃分好每個功能模塊.為每個功能模
塊,,劃分好好實現(xiàn)的各個功能函數(shù).最好有一個清晰的計劃書.如果著一切你都事先做的橫好那么后面編程是很簡單的事情.一切水道渠成.
2.數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫設(shè)計也是非常重要的,一個好的數(shù)據(jù)庫設(shè)計就為一個漂亮的開始.
數(shù)據(jù)庫盡量簡單,,不要建立太多的表.一個表要盡量容入多的數(shù)據(jù).但是這個是在一個原則的條件下,,數(shù)據(jù)庫設(shè)計的要清晰.最好一個對象建立一個表.而對于某個對象起屬性少的情況下,就不要建立一表.
比如我門常用的電子郵件,,如過你不是做郵件服務(wù)器的話就沒的必要建立電子郵件的表,,你只要在用戶的表里面建立個email字段就可以了.
另外要特別注意數(shù)據(jù)庫的速度,網(wǎng)絡(luò)一切速度第一.所以你最好要為每張表建立一個int類型的id字段我們查詢的時候就查詢id,,由于是數(shù)字,,比字符的查詢的速度快(在大量數(shù)據(jù)的情況下很明顯)當(dāng)然這就以為著你必須檢查,或者設(shè)置id字段的值不能重復(fù).當(dāng)然還有的就是你得有個習(xí)慣就是所有的字段都是用英文表示(有點廢話,,但是也許有寫人不知道),,也上為了提高速度,同時便宜兼容別的不支持漢語的數(shù)據(jù)庫.
3.數(shù)據(jù)庫的查詢等
數(shù)據(jù)庫的操作很重要,,他很影響整個程序的速度.注意:一般一個網(wǎng)站的速度限制住要是在網(wǎng)絡(luò)帶寬,,和內(nèi)存的大小.而數(shù)據(jù)庫是耗內(nèi)存的大戶,同時他的訪問速度也限制整個網(wǎng)頁的速度(對于小型網(wǎng)站這個是主要的限制因素).
所以數(shù)據(jù)庫的操作很重要.我們在做數(shù)據(jù)庫操作的時候要記得盡量提高查詢速度.首先,,要編寫盡量簡單的查詢語句,,不要一個查詢語句里面做很多圈套,少用或盡量不用聯(lián)合查詢.
盡量在搜索的時候用id字段查詢,,少查詢字符,,提高檢索速度.
其次,對于數(shù)據(jù)庫的資源.當(dāng)申請了連接用完就釋放.于最早的時間釋放資源.然后如果數(shù)據(jù)庫里面的記錄特別多的話,,對象有這個功能.
再次,,對于復(fù)雜的事物處理我們可以用視圖和存儲過程,事實證明運用試圖存儲過程能顯著提高速度.當(dāng)然建立必要的索引也是可以的.要在這些方面做好取舍.不過前提是你所用的數(shù)據(jù)庫都支持.
最后,,我們可以把經(jīng)常用的業(yè)務(wù)查詢放入內(nèi)存.來優(yōu)化速度.這樣當(dāng)每次尋要用的時候就可以直接去內(nèi)存尋找,,避免每次都查詢數(shù)據(jù)庫.
編程
首先,我們?nèi)绻砰_始編程的的話,,不要求什么新技術(shù).盡量采用簡單的技術(shù).其實一個程序如果設(shè)計的思想很好很漂亮,,那么我們就沒必要關(guān)心他是用什么技術(shù)實現(xiàn)的哪怕是最初級的技術(shù).一樣
是好程序,,只要它能達(dá)到最開始的要求就是.而且對于我們才開始學(xué)習(xí)的人,如果一就研究這些復(fù)雜的東西是困難的,,也沒的必要啊.等你基本是上很熟悉asp編程了.你可以去閱讀技術(shù)文檔.再去學(xué)習(xí).
其次,,我們要照顧一些安全的需要.
1.檢測下sql語句編寫安全的sql語句.
比如這樣的語句就不怎么好:sql="select * from table1 where name="&rename傳過來的可能代有'號可以夠造一個查詢被注射.
可以這么寫sql="select * from table1 where name='"&rename&"'"
2.時刻記得檢測傳遞過來的request對象,加一句replace(cint(request("")),"'","")
可以起到一定的防范作用.
3.對于權(quán)限的檢測有些人只用cookies驗證,,這是不行的現(xiàn)在有工具可以自己構(gòu)造這個.因為cookies是放在客戶端的,,很容易被黑課利用.對于次我們可以采用cookies 加session驗證的辦法.
4.另外記得數(shù)據(jù)庫的安全,要做下防下載的處理.可以用幾個變態(tài)的數(shù)據(jù)庫名,,同時在數(shù)據(jù)庫里面建立個防止下載的表.防止被暴庫.同時帳號密碼最好加下密采用md 5加密一般不好被破解.
5.對于用戶的登陸頁面的驗證.我們在查詢的時候最好最好加下面的語句
code:
'前面為查詢
if not then
if rs("username")=md5(username) and rs("userpass")=md5(userpass) thensession("user")=true
ct"轉(zhuǎn)入成功頁面"
else
ct"轉(zhuǎn)入錯誤頁面"
end if
end if
同時我們在登陸的地方最好要有的驗證碼驗證,,或者記錄錯誤登陸次數(shù).限制同一ip多次錯誤的登陸.防止被暴力破解.
6.后臺編輯器我門盡量不要采用html編碼,可以采用ubb代碼,,防止被嵌入木馬等.存儲如數(shù)據(jù)庫的時候要采用字符過濾.過濾掉一些危險的單詞,,如 delete in to content 等最后要說的是編譯運行.
你寫的代碼不可能是完全正確的.需要通過服務(wù)器的檢測才行.但是一般一經(jīng)檢測都有那么點問題.這時候就需要調(diào)試.我推薦大家采用aspstudio因為他可以設(shè)置斷點.方便找錯及修改.不過他的技術(shù)可能不是很成熟有時候出錯.所以你有時候還是得用iis.有是在本地運行不了的程序,在服務(wù)器上卻可以.所一你最好有個個人的動態(tài)空間.方便測試.另外說下的是,,找錯誤.一般是出的小錯誤.比如編碼格式,,或者一個if沒結(jié)束.這個以為就是邏輯錯誤
在眾多的if語句中出錯誤.大家向這個方面去找.一般不是什么大問題.
四、總結(jié)
asp是容易上手,,而且速度也很好,,不用編譯為可執(zhí)行程序,所以他才這么流行.但是現(xiàn)在看來我感覺他的前途不大了.因為它有太多的毛病.首先這個東西似乎特別不怎么安全.我看見的網(wǎng)站入侵大多數(shù)是asp的.其次它也不適宜特別大的項目.作為小中型運用還可以.做為大型.他一是很不好做好邏輯與業(yè)務(wù)分離.程序用到東西太多,,平臺.
asp實訓(xùn)報告心得體會篇三
asp內(nèi)置對象response
response的屬性
.buffer (表明頁輸出是否被緩沖)
使用格式
=true/false
注:很多方法使用時對buffer屬性有要求,對其設(shè)置最好寫在asp文件第一行。
.contenttype (指定http輸出內(nèi)容類型)
使用格式
ttype="內(nèi)容類型"
.binarywrite (不經(jīng)過任何轉(zhuǎn)換,,將指定的信息輸出,,它主要輸出非字符信息)
使用格式
write 二進(jìn)制數(shù)據(jù)
clear/end/flush與buffer屬性的依賴關(guān)系
{
.clear (把緩沖區(qū)內(nèi)容清空)
.end (停止執(zhí)行后面的代碼,緩沖區(qū)內(nèi)容仍然有效)
.flush (緩沖區(qū)中編譯完成的數(shù)據(jù)先發(fā)送到客戶端)
}
.redirect (跳轉(zhuǎn)網(wǎng)頁,必須將buffer的屬性設(shè)置為true)
使用格式
ct 網(wǎng)址
request對象cookies集合用來取得用戶的相關(guān)信息
response對象cookies集合負(fù)責(zé)將數(shù)據(jù)設(shè)置到瀏覽器
寫入cookies到用戶瀏覽器
s("cookies名")="cookies值"
讀取cookies
s("cookies名")
另類的cookies
s("cookies名")("元素")
另類的cookies的讀取
s("cookies名")("元素")
.expires (設(shè)置cookies的過期時間)
使用格式
s("cookies名").expires="過期的時間 (例:20xx-7-17 7:17)"分享:
asp實訓(xùn)報告心得體會篇四
經(jīng)過兩個多月的學(xué)習(xí)和上課聽講,,動態(tài)網(wǎng)頁制作的一些簡單的知識和基本常識,,也能從老師講的基本知識中應(yīng)用一下上課所學(xué)到的知識,網(wǎng)站建設(shè)和維護(hù)不是很簡單,,其中不僅要應(yīng)用各種方面的知識還要對所學(xué)的知識學(xué)會變通使用,,雖然會有一些成功的地方,以前學(xué)c++,、數(shù)據(jù)庫等一些相關(guān)知識的時候沒好好學(xué),,現(xiàn)在想真正做好這個網(wǎng)站就顯得不那么容易了。曾經(jīng)看到網(wǎng)上有這么一句話,,一個優(yōu)秀的網(wǎng)絡(luò)程序員不但要了解自己領(lǐng)域的一些專業(yè)技術(shù),,而且很多時候還要充當(dāng)半個網(wǎng)絡(luò)工程師,半個美術(shù)設(shè)計師和半個數(shù)據(jù)庫管理員,。照這么說來,,我單單學(xué)習(xí)是遠(yuǎn)遠(yuǎn)不夠的,,還要學(xué)習(xí)計算機(jī)網(wǎng)絡(luò)、美術(shù)設(shè)計,、數(shù)據(jù)庫,,我很喜歡有關(guān)計算機(jī)方面的東西,認(rèn)為我們當(dāng)代的生活越來越離不開計算機(jī),,并且我也很癡迷計算機(jī)所帶來的強(qiáng)大功能,。
它是microsoft .net戰(zhàn)略的核心產(chǎn)品,憑借它豐富的控件,,以及具有革命性的code-behind技術(shù),,以及良好的封裝性,無疑成為業(yè)界開發(fā)active server page的一門巨將,, asp 是一項微軟公司的技術(shù),,是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器
端腳本技術(shù)。 指 active server pages(動態(tài)服務(wù)器頁面) ,,運行于 iis 之中的程序 ,。 是 asp(微軟動態(tài)服務(wù)器網(wǎng)頁技術(shù))的最新版本。執(zhí)行效率大幅提高:構(gòu)架是可以用microsoft(r)公司最新的產(chǎn)品 visual 開發(fā)環(huán)境進(jìn)行開發(fā),,wysiwyg(what yousee is what you get所見即為所得)的編輯,。簡單性和易學(xué)性
高效可管理性
使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),,使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單,。因為配置信息都保存在簡單文本中,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實現(xiàn),。這種被稱為"zerolocal administration"的基于應(yīng)用的開發(fā)更加具體,,和快捷。的應(yīng)用程序在一臺服務(wù)器系統(tǒng)的安裝只需要簡單的拷貝一些必須得文件,,不需要系統(tǒng)的重新啟動,,一切就是這么簡單。多處理器環(huán)境的可靠性 已經(jīng)被刻意設(shè)計成為一種可以用于多處理器的開發(fā)工具,,它在多處理器的環(huán)境下用特殊的無縫鏈接技術(shù),,將很大的提高運行速度。應(yīng)用軟件是為一個處理器開發(fā)的,,將來多處理器運行時不需要任何改變都能提高他們的效能,,但現(xiàn)在的asp確做不到這一點。自定義性和可擴(kuò)展性 設(shè)計時考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊,。這與原來的包含關(guān)系不同,,可以加入自己定義的如何組件。網(wǎng)站程序的開發(fā)從來沒有這么簡單過,。
安全性基于windows認(rèn)證技術(shù)和每應(yīng)用程序配置,,你可以確性你的原程序時絕對安全的,。 的語法在很大程度上與 asp 兼容,同時它還提供一種新的編程模型和結(jié)構(gòu),,可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,,并提供更好的安全保護(hù)??梢酝ㄟ^在現(xiàn)有 asp 應(yīng)用程序中逐漸添加 功能,,隨時增強(qiáng) asp 應(yīng)用程序的功能。 是一個已編譯的,、基于 .net 的環(huán)境,,把基于通用語言的程序在服務(wù)器上運行。將程序在服務(wù)器端首次運行時進(jìn)行編譯,,比asp即時解釋程序速度上要快很多.而且是可以用任何與 .net 兼容的語言序,。另外,任何 應(yīng)用程序都可以使用整個 .net framework,。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,,其中包括托管的公共語言運行庫環(huán)境、類型安全,、繼承等等,。 可以無縫地與 wysiwyg html 編輯器和其他編程工具(包括 microsoft visual studio .net)一起工作。這不僅使得 web 開發(fā)更加方便,,而且還能提供這些工具必須提供的所有優(yōu)點,,包括開發(fā)人員可以用來將服務(wù)器控件拖放到 web 頁的gui 和完全集成的調(diào)試支持。
當(dāng)創(chuàng)建 應(yīng)用程序時,,開發(fā)人員可以使用 web 窗體或 web,,或以他們認(rèn)為合適的任何方式進(jìn)行組合。每個功能都能得到同一結(jié)構(gòu)的支持,,使您能夠使用身份驗證方案,緩存經(jīng)常使用的數(shù)據(jù),,或者對應(yīng)用程序的配置進(jìn)行自定義. 如果你從來沒有開發(fā)過網(wǎng)站程序,,那么這不適合你,你應(yīng)該至少掌握一些html和簡單的web開發(fā)術(shù)語(不過我相信如果有興趣的話是可以很快的掌握的),。你不需要先前的asp開發(fā)經(jīng)驗(當(dāng)然有經(jīng)驗更好),,但是你必須了解交互式web程序開發(fā)的概念,包含窗體,,腳本,,和數(shù)據(jù)接口的概念,如果你具備了這些條件的話,,的世界開始展翅高飛了,。
首先我們學(xué)習(xí)了怎么設(shè)計主頁,,一個好的主頁可以給瀏覽者一個耳目一新的感覺,所以網(wǎng)站主頁的布局就顯得格外重要了,,好的布局加上親切的言語,,以及強(qiáng)大的功能,都會是瀏覽者感到無比的親切,。這次我跟劉昕做的是樂糕網(wǎng),,一個粉紅色的布局顯出溫馨的格調(diào),其次我們添加了用戶注冊界面,,同時應(yīng)用了模板頁,,模板頁嵌套在注冊頁面上,同時與主頁的注冊按鈕相連接,,在主頁引用了css樣式,,使得格局更加清晰。之后我們做了在線投票頁面,,同樣引用了模板頁,,同時學(xué)會了使用cookie,session的使用,。做好這些功能之后,,我們開始用到了數(shù)據(jù)庫,要實現(xiàn)用戶的存儲和調(diào)用,,以及商品信息的錄入,,同時對商品id進(jìn)行數(shù)據(jù)綁定,之后我們實現(xiàn)了購物車功能,,使用 datalist控件實現(xiàn)了對后臺代碼文件中綁定其數(shù)據(jù)源,,asp,net3.5提供的datalist控件使用模板顯示內(nèi)容,他允許每一行顯示多條記錄,??梢允褂胔tml表對應(yīng)模板項的呈現(xiàn)方式進(jìn)行布局,從而控制各個單元格的順序,、方向和列數(shù),。在這之后我們又做了留言板,通過調(diào)用存儲過程,,做到了留言板功能的實現(xiàn),,。前面所學(xué)到的數(shù)據(jù)訪問都是web應(yīng)用程序直接訪問數(shù)據(jù)庫,。這種在web窗體中直接訪問和操作數(shù)據(jù)庫中數(shù)據(jù)的方式是一種低效的資源使用方式,,并且有可能產(chǎn)生安全風(fēng)險。通過存儲過程訪問數(shù)據(jù)庫,,可以有效地提高數(shù)據(jù)訪問效率和數(shù)據(jù)的安全性,。
可以在執(zhí)行復(fù)雜任務(wù)時減少窗體的編碼量,,降低對網(wǎng)絡(luò)寬帶的需求;通過只允許可信賴的本地存儲過程直接訪問數(shù)據(jù)庫,可以保護(hù)數(shù)據(jù)庫的安全,。同時我們用到了一個容器控件repeater,,當(dāng)運行頁面時,repeater將綁定數(shù)據(jù)源中的數(shù)據(jù),,并按照模板的要求將數(shù)據(jù)在界面上呈現(xiàn)出來,。正是由于repeater控件沒有默認(rèn)的外觀,所以進(jìn)行界面設(shè)計的時候會感到不太直觀,。但repeater控件非常靈活,,可以通過對模板的靈活使用,創(chuàng)建多種不同形式的列表,,包括以特定分隔符的列表,,或者xml格式的列表,同時它還能夠非常精確地對界面元素進(jìn)行定位,。除此之外我們還添加了網(wǎng)絡(luò)在線投票功能,,網(wǎng)絡(luò)在線投票是網(wǎng)絡(luò)用戶的興趣、價值取向以及熱點關(guān)注等信息的關(guān)注程度的一種體現(xiàn),,實現(xiàn)了在線投票功能,,為了更為直觀的顯示和查看投票結(jié)果,將投票結(jié)果圖形化是一種較好的手段,。所以我們引用了一個類graphics, graphics類是gdi+圖形編程中的核心類,。他封裝了gdi+界面的繪圖方法以及圖形顯示設(shè)備,極大地的簡化了開發(fā)人員的圖形編程工程工作,。通過graphics類的屬性可以獲取graphics對象的分辨率,,并能夠為graphics對象進(jìn)行裁剪區(qū)域的選擇和判斷,而頁面中圖形的繪制則都是通過graphics類的實例方法實現(xiàn),,同時引用了web服務(wù)器控件image,。image控件同img標(biāo)簽一樣,其主要作用是在web頁面中顯現(xiàn)圖片信息,,其主要屬性為imageurl,,用于設(shè)置需要顯示的圖片的url地址。提供的image控件可以快速地載入圖形,,但卻并不支持click事件。而且gdi+除了可以繪制圖形和文字外,,還可以繪制或編輯已有圖片,,為圖片添加水印或裁剪圖片等操作。
在實際的web應(yīng)用開發(fā)中,,開發(fā)人員為了防止非法用戶惡意批量注冊或者惡意程序暴力破解密碼等操作,,我們相應(yīng)的做了圖形驗證碼功能,,在用戶身份驗證時都會采用驗證碼技術(shù)。驗證碼技術(shù)可以有效防止某些特定注冊用戶采用惡意程序和暴力破解方式對網(wǎng)站進(jìn)行不斷的登錄嘗試,,為此我們引用了random類,,隨即數(shù)在計算機(jī)應(yīng)用程序設(shè)計,尤其是在實踐環(huán)境模擬和測試等領(lǐng)域得到了非常廣泛的應(yīng)用,。random類是一個偽隨即數(shù)生成器,,能夠產(chǎn)生滿足一定隨即性系統(tǒng)要求的數(shù)字序列。既然是偽隨機(jī)數(shù)生成器,,產(chǎn)生的數(shù)字就不是絕對的隨即數(shù),,而是通過一定的算法產(chǎn)生的偽隨機(jī)數(shù)。初始化一個隨機(jī)數(shù)發(fā)生器有兩種方法:第一種是不指定隨即種子,,系統(tǒng)自動選取當(dāng)前時間作為隨機(jī)種子,,代碼如下:random rand=new random;第二種方法是指定一個int型參數(shù)作為隨即種子,認(rèn)識到了網(wǎng)站的真正的結(jié)構(gòu),,最終才對bs結(jié)構(gòu)的網(wǎng)站程序有了進(jìn)一步的認(rèn)識,。同時,對sql大型數(shù)據(jù)庫的認(rèn)識才有了質(zhì)的改變,。最后我們做了網(wǎng)絡(luò)在線人數(shù)統(tǒng)計,,完成了對樂購網(wǎng)網(wǎng)站的制作。
在這短短的幾個月中,,我知道在程序設(shè)計的時候,,不要太在意程序是否最簡潔靈活,對于一般開發(fā)者而言,,程序規(guī)范化和可讀性可能比追求程序的靈活性更加重要,。在互聯(lián)網(wǎng)資源越來越豐富的情況下,我們可以參考一些規(guī)范的程序源代碼來學(xué)習(xí),。同時我也知道,,想要學(xué)好這門課程,所要具備很多條件,,首先打代碼要規(guī)范,,要做注釋,這樣回頭來看程序時可以很快的看懂,,一方面可以練習(xí)自己的邏輯表達(dá)能力,,對以后遇到難以實現(xiàn)的功能也可以很好的表達(dá)出來向別人請教,而且出去從事編程工作的話,,代碼的規(guī)范是相當(dāng)重要的,。還有一點要學(xué)會總結(jié),把自己做的程序用到的知識點列出來就可以很好的總結(jié)自己的知識點。當(dāng)形成知識體系,,對知識的理解就會更上一層樓,。
asp實訓(xùn)報告心得體會篇五
asp 是一項微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),。 指 active server pages(動態(tài)服務(wù)器頁面) ,,運行于 iis 之中的程序 。 的前身asp技術(shù),,是在iis 2.0上首次推出,,當(dāng)時與 ado 1.0 一起推出,在iis 3.0發(fā)揚光大,,成為服務(wù)器端應(yīng)用程序的熱門開發(fā)工具,微軟還特別為它量身打造了visual
interdev開發(fā)工具,,在1994年到20xx年之間,asp技術(shù)已經(jīng)成為微軟推展windows nt 4.0平臺的關(guān)鍵技術(shù)之一,,數(shù)以萬計的asp網(wǎng)站也是這個時候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡(luò)上,。它的簡單以及高度可定制化的能力,也是它能迅速崛起的原因之一,。
因為是基于通用語言的編譯運行的程序,,所以它的強(qiáng)大性和適應(yīng)性,可以使它運行在web應(yīng)用軟件開發(fā)者的幾乎全部的平臺上(筆者到現(xiàn)在為止只知道它只能用在windows 20xx/20xx server/vista/7/xp/win7上),。通用語言的基本庫,,消息機(jī)制,數(shù)據(jù)接口的處理都能無縫的整合到的web應(yīng)用中,。同時也是language-independent(語言獨立化)的,,所以,你可以選擇一種最適合你的語言來編寫你的程序,,或者把你的程序用很多種語言來寫,,現(xiàn)在已經(jīng)支持的有c#(c++和java的結(jié)合體),vb,,jscript , c++,、f++。將來,,這樣的多種程序語言協(xié)同工作的能力保護(hù)您現(xiàn)在的基于com+開發(fā)的程序,,。
一般分為兩種開發(fā)語言,,和c#,,c#相對比較常用,獨有的語言,,則為以前vb程序設(shè)計,,適合于以前vb程序員,,,沒有其他開發(fā)語言經(jīng)驗,,建議直接學(xué)習(xí)c#即可。
使運行一些很平常的任務(wù)如表單的提交客戶端的身份驗證,、分布系統(tǒng)和網(wǎng)站配置變得非常簡單,。例如頁面構(gòu)架允許你建立你自己的用戶分界面,使其不同于常見的vb-like界面,。
使用一種字符基礎(chǔ)的,,分級的配置系統(tǒng),虛擬服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單,。因為配置信息都保存在簡單文本中,,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實現(xiàn)。這種被稱為"zero local administration"的哲學(xué)觀念使的基于應(yīng)用的開發(fā)更加具體和快捷,。的應(yīng)用程序在一臺服務(wù)器系統(tǒng)的安裝只需要簡單的拷貝一些必須的文件,,不需要系統(tǒng)的重新啟動,一切就是這么簡單,。多處理器環(huán)境的可靠性 已經(jīng)被刻意設(shè)計成為一種可以用于多處理器的開發(fā)工具,,它在多處理器的環(huán)境下用特殊的無縫連接技術(shù),將很大的提高運行速度,。即使你現(xiàn)在的應(yīng)用軟件是為一個處理器開發(fā)的,,將來多處理器運行時不需要任何改變都能提高他們的效能,但現(xiàn)在的asp卻做不到這一點,。自定義性和可擴(kuò)展性 設(shè)計時考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊,。這與原來的包含關(guān)系不同,可以加入自己定義的任何組件,。網(wǎng)站程序的開發(fā)從來沒有這么簡單過,。安全性基于windows認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確保你的原
程序是絕對安全的,。 的語法在很大程度上與 asp 兼容,,同時它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,,并提供更好的安全保護(hù),。可以通過在現(xiàn)有 asp 應(yīng)用程序中逐漸添加 功能,,隨時增強(qiáng) asp 應(yīng)用程序的功能,。 是一個已編譯的、基于 .net 的環(huán)境,,把基于通用語言的程序在服務(wù)器上運行,。將程序在服務(wù)器端首次運行時進(jìn)行編譯,比asp即時解釋程序速度上要快很多.而且是可以用任何與 .net 兼容的語言(包括 visual basic .net、c# 和 jscript .net.)創(chuàng)作應(yīng)用程序,。另外,,任何 應(yīng)用程序都可以使用整個 .net framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點,,其中包括托管的公共語言運行庫環(huán)境,、類型安全、繼承等等,。 可以無縫地與 wysiwyg html 編輯器和其他編程工具(包括 microsoft visual studio .net)一起工作,。這不僅使得 web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點,,包括開發(fā)人員可以用來將服務(wù)器控件拖放到 web 頁的 gui 和完全集成的調(diào)試支持,。 當(dāng)創(chuàng)建 應(yīng)用程序時,開發(fā)人員可以使用 web 窗體或 xml web services,,或以他們認(rèn)為合適的任何方式進(jìn)行組合,。每個功能都能得到同一結(jié)構(gòu)的支持,使您能夠使用身份驗證方案,,緩存經(jīng)常使用的數(shù)據(jù),,或者對應(yīng)用程序的配置進(jìn)行自定義. 如果你從來沒有開發(fā)過網(wǎng)站程序,那么這不適合你,,你應(yīng)該至少掌握一些html語言和簡單的web開發(fā)術(shù)語(不過我相信如果有興趣的話是可以很快的掌握的),。你不需要先前的asp開發(fā)經(jīng)驗(當(dāng)然有經(jīng)驗更好),但是你必須了解交互式web程序開發(fā)的概念,,包含窗體,,腳本,和數(shù)據(jù)接口的概念,,如果你具備了這些條件的話,,的世界開始展翅高飛了。iis指 internet information services(因特網(wǎng)信息服務(wù))
iis同時也是 windows nt 4.0 的可選組件此可選組件可通過因特網(wǎng)下載
不僅僅是 active server page (asp) 的下一個版本,,而且是一種建立在通用語言上的程序構(gòu)架,,能被用于一臺web服務(wù)器來建立強(qiáng)大的web應(yīng)用程序。提供許多比現(xiàn)在的web開發(fā)模式強(qiáng)大的優(yōu)勢,。
運行的架構(gòu)分為幾個階段: 在 iis 與 web 服務(wù)器中的消息流動階段,。 在 網(wǎng)頁中的消息分派。 在 網(wǎng)頁中的消息處理,。
連接層級的對象是 session,,以瀏覽器的運行個體為識別單位,數(shù)據(jù)依瀏覽器的運行個體來儲存,,在瀏覽器的運行個體第一次連到應(yīng)用程序時,,會設(shè)置一個 session id,,并且使用它來識別session,每一個 session 都是 icollection與ienumerate的實現(xiàn),,用 key 來識別數(shù)據(jù)值,,并且具有時間的限制,若超出時限時服務(wù)器會自動清理掉,,默認(rèn)的 session 時限為 20 分鐘,。session id 的算法是由 rngcryptoserviceprovider (密碼編譯亂數(shù)產(chǎn)生器提供者)產(chǎn)生,并編碼成一個 session id 字符串(例
如 anf4vuup3xiq0arjlqla2l55 這樣的字符串)儲存在服務(wù)器中,,用以識別不同的 session 個體。
為因應(yīng)不同的用戶端,, 設(shè)計了不同的 session id 存放機(jī)制,,像是舊式的瀏覽器或是行動用戶端這種不支持本地儲存cookie的設(shè)備時, 可以直接在 url 中加上 session id 的識別,,像是
(anf4vuup3xiq0arjlqla2l55)/ 這樣的 url,,可以由開發(fā)人員自行設(shè)置,或是使用 autodetect 設(shè)置來讓 自行判斷要使用的 session id 存放方式,。
session id 的產(chǎn)生方法可以由程序開發(fā)人員自定義,,借由改寫 sessionidmanager 的 createsessionid 方法來自定義。
using system;
using uration;
using uration;
using ;
using .sessionstate;
namespace n{
public class guidsessionidmanager : sessionidmanager {
public override string createsessionid(httpcontext context) {return ng;
}
public override bool validate(string id) {
try {
guid testguid = new guid(id);
if (id == ng) return true;
}
catch { }
return false;
}
}
}
是開發(fā) web 應(yīng)用程序的基礎(chǔ)架構(gòu) (framework),,除了它內(nèi)部的運作方法外,,對外也顯露了許多的開發(fā)支持,讓開發(fā)人員可以利用它來發(fā)展出許多強(qiáng)大的 web 應(yīng)用程序解決方案,。
最基礎(chǔ)的底層為網(wǎng)頁,,網(wǎng)頁由 類來提供基礎(chǔ)支持,包含了頁面的事件以及對象繪制的引發(fā)點(page 類本身是一個 http handler 的實現(xiàn)品),。 網(wǎng)頁在微軟的官方名稱中,,稱為 web form,除了是要和windows forms作分別以外,,同時也明白的刻劃出了它的主要功能:“讓開發(fā)人員能夠像開發(fā) windows forms 一樣的方法來發(fā)展
web 網(wǎng)頁”,。因此 page 所要提供的功能就需要類似 windows forms 的窗體,每個 web form 都要有一個區(qū)塊,,所有的 服務(wù)器控件都要放在這個區(qū)域中,,這樣才可以讓 viewstate 等服務(wù)器控制能夠順暢的運作。
使用代碼后置模式的設(shè)置時,,可以讓 運行引擎在加載網(wǎng)頁時,,由代碼后置參數(shù)取得對應(yīng)的類信息,藉以使用 reflection 的方式來運行后置的代碼,。
可以支持html和xhtml兩種網(wǎng)頁內(nèi)容,,但在visual 中,,默認(rèn)是使用 html,但在visual studio 20xx以后的版本,,則一律都改用xhtml格式,。
的內(nèi)置控件分為兩種:html 控件:直接在 html 標(biāo)記中加上 runat="server",即可對應(yīng)到指定的 html 服務(wù)器控件類,,像是: htmlanchor:表示 html 的 web 控件:由 提供,,比 html 控件提供更多的功能,但操作與設(shè)置會比 html 控件要復(fù)雜許多,,像是: linkbutton:一種外型為鏈接 htmlbutton:表示 html 的 ,。 htmlimage:表示 html 的 。 htmlgenericcontrol:表示沒有對應(yīng)到服務(wù)器控件的對象,,都會被對應(yīng)到這個類,。 web 控件 (web control):由 提供,比 html 控件提供更多的功能,,但操作與設(shè)置會比 html 控件要復(fù)雜許多,,像是: linkbutton:一種外型為鏈接 (除了內(nèi)置的控件之外, 也提供了可以自定義的控件架構(gòu),,并且支持兩種控件開發(fā)方法:
用戶控件,, 為擴(kuò)展名,可以讓開發(fā)人員用最輕松的方式來開發(fā)控件,,優(yōu)點是開發(fā)速度很快,,但缺點是無法轉(zhuǎn)散布,且無法加入?yún)⒖肌?自定義控件,,可轉(zhuǎn)散布型的控件,,是經(jīng)過編譯后的代碼,可單獨轉(zhuǎn)散布,,并且可在其他的項目加入?yún)⒖家?,自定義控件有三種開發(fā)模式: 基礎(chǔ)控件:由 .ui.control 類繼承而來,或是由現(xiàn)有的 web 控件繼承而來,,像是由 button 控件繼承,。 復(fù)合控件:由 .ui.webcontrols.compositecontrol 繼承而來,可以用復(fù)合的方式來開發(fā)控件,。 樣板控件:可以在控件中使用樣板,,并套用數(shù)據(jù)到樣板中,支持?jǐn)?shù)據(jù)綁定的表達(dá)式,。
以往在 asp 中常被使用的五大基本對象,,在 中仍然持續(xù)被支持,但它們都換了一個身份來提供:
application:包裝了 httpapplication 對象,,在程序中使用 application 指令取得的對象,,都是來自于 ation 屬性回傳而得,。 request:包裝了 httprequest 對象,在程序中使用 request 指令取得的對象,,都是來自于 t 屬性回傳而得,。 response:包裝了 httpresponse 對象,在程序中使用 response 指令取得的對象,,都是來自于 se 屬性回傳而得,。 session:包裝了
httpsessionstate 對象,在程序中使用 session 指令取得的對象,,都是來自于 n 屬性回傳而得,。
server:包裝了 httpserverutility對象,在程序中使用 server 指令取得的對象,,屬性回傳而得,。
和asp很混淆,有的甚至認(rèn)為兩者是一樣的!因為他們根本不了解,,其實兩者是不同,asp是解釋性編程框架,,而是編譯性框架,,無論是從執(zhí)行效率和安全上都遠(yuǎn)遠(yuǎn)超過asp, ,實現(xiàn)了代碼分離,??梢哉f讓代碼管理更加直觀。
1.1的設(shè)計是良好的,, 2.0中只有很少的改動是修復(fù)已有的特性的,,保留了同之前版本相同的基礎(chǔ),增加了新的,、更高層此的特性支持,,主要特性如下:豐富的控件 ,模板頁 ,主題 ,安全和成員資格 ,數(shù)據(jù)源控件 ,web部件 ,配置文件
3.0并不存在, framework3.0的名稱發(fā)布了一系列的新的技術(shù),,其中最著名的有wpf,它是用于構(gòu)建富客戶端的全新用戶界面技術(shù),,wcf使用于構(gòu)建面向消息的服務(wù)技術(shù),以及wf允許把復(fù)雜的業(yè)務(wù)邏輯過程建模為一組動作,, ,。
在一開始的時候是缺乏范本引擎的, framework本身是面向?qū)ο?,且需要用繼承的方式才能夠延伸功能,,大多數(shù)的開發(fā)人員都是由 繼承并定義出新的基類,并撰寫要繪制 html 的方法,,以及在他們的應(yīng)用程序中修改以繼承該類,,然而這個方法可能會被用在網(wǎng)站的很多地方,,因而會大大的提升混合代碼與標(biāo)記的復(fù)雜度,這個方法也只能在運行期才能夠以可視化的方式測試,,無法在設(shè)計時期可視化,,其他的開發(fā)人員總是使用原有的 asp方法來把每個網(wǎng)頁需要的部份包到網(wǎng)頁中,防止在每個網(wǎng)頁中都要撰寫相同的導(dǎo)覽代碼,。
在 2.0 中,,推出了主版頁面 (master page)的概念,它可以讓開發(fā)人員先行定義外觀版型 (*.master),,再使用它來套用實際運行的網(wǎng)頁,,網(wǎng)頁與主版頁面之間以 contentplaceholder的 id 做鏈接,以套用正確的內(nèi)容到保留區(qū)中,,開發(fā)人員也可以定義在保留區(qū)沒有套用時需要顯示的默認(rèn)內(nèi)容,。在 3.5 中更進(jìn)一步的支持設(shè)計時期的嵌套主版頁面,以及把網(wǎng)頁的 head 區(qū)塊納入 contentplaceholder 的范圍,。
與主版頁面相關(guān)的,,還有主題以及面板技術(shù),這兩個技術(shù)允許開發(fā)人員或設(shè)計人員自行定義網(wǎng)頁的樣式設(shè)置以及套用的樣式支持,,每個主題中可以包含數(shù)個面板檔,,這些面板檔決定了控件要輸出時套用的樣式,開發(fā)人員則可以利用主題來決定不同的外觀要使用的樣式,。