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