初學(xué)asp心得體會(huì)
初學(xué)asp心得體會(huì)
在初學(xué)asp時(shí),這種在web窗體中直接訪問(wèn)和操作數(shù)據(jù)庫(kù)中數(shù)據(jù)的方式是一種低效的資源使用方式,并且有可能產(chǎn)生安全風(fēng)險(xiǎn)。通過(guò)存儲(chǔ)過(guò)程訪問(wèn)數(shù)據(jù)庫(kù),可以有效地提高數(shù)據(jù)訪問(wèn)效率和數(shù)據(jù)的安全性做,在此分享心得體會(huì)。下面是學(xué)習(xí)啦小編為大家收集整理的初學(xué)asp心得體會(huì),歡迎大家閱讀。
初學(xué)asp心得體會(huì)篇1
經(jīng)過(guò)兩個(gè)多月的學(xué)習(xí)和上課聽講,初步掌握了asp.net動(dòng)態(tài)網(wǎng)頁(yè)制作的一些簡(jiǎn)單的知識(shí)和基本常識(shí),也能從老師講的基本知識(shí)中應(yīng)用一下上課所學(xué)到的知識(shí),感覺(jué)asp.net網(wǎng)站建設(shè)和維護(hù)不是很簡(jiǎn)單,其中不僅要應(yīng)用各種方面的知識(shí)還要對(duì)所學(xué)的知識(shí)學(xué)會(huì)變通使用,雖然會(huì)有一些成功的地方,以前學(xué)c++、數(shù)據(jù)庫(kù)等一些相關(guān)知識(shí)的時(shí)候沒(méi)好好學(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ù)管理員。照這么說(shuō)來(lái),我單單學(xué)習(xí)asp.net是遠(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)代的生活越來(lái)越離不開計(jì)算機(jī),并且我也很癡迷計(jì)算機(jī)所帶來(lái)的強(qiáng)大功能。
它是microsoft .net戰(zhàn)略的核心產(chǎn)品,asp.net憑借它豐富的控件,以及具有革命性的code-behind技術(shù),以及良好的封裝性,無(wú)疑成為業(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.net 是 asp(微軟動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè)技術(shù))的最新版本。執(zhí)行效率大幅提高:asp.net構(gòu)架是可以用microsoft(r)公司最新的產(chǎn)品 visual studio.net開發(fā)環(huán)境進(jìn)行開發(fā),wysiwyg(what yousee is what you get所見即為所得)的編輯。簡(jiǎn)單性和易學(xué)性
高效可管理性
asp.net使用一種字符基礎(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"的哲學(xué)觀念使asp.net的基于應(yīng)用的開發(fā)更加具體,和快捷。一個(gè)asp.net的應(yīng)用程序在一臺(tái)服務(wù)器系統(tǒng)的安裝只需要簡(jiǎn)單的拷貝一些必須得文件,不需要系統(tǒng)的重新啟動(dòng),一切就是這么簡(jiǎn)單。多處理器環(huán)境的可靠性 asp.net已經(jīng)被刻意設(shè)計(jì)成為一種可以用于多處理器的開發(fā)工具,它在多處理器的環(huán)境下用特殊的無(wú)縫鏈接技術(shù),將很大的提高運(yùn)行速度。即使你現(xiàn)在的asp.net應(yīng)用軟件是為一個(gè)處理器開發(fā)的,將來(lái)多處理器運(yùn)行時(shí)不需要任何改變都能提高他們的效能,但現(xiàn)在的asp確做不到這一點(diǎn)。自定義性和可擴(kuò)展性 asp.net設(shè)計(jì)時(shí)考慮了讓網(wǎng)站開發(fā)人員可以在自己的代碼中自己定義"plug-in"的模塊。這與原來(lái)的包含關(guān)系不同,asp.net可以加入自己定義的如何組件。網(wǎng)站程序的開發(fā)從來(lái)沒(méi)有這么簡(jiǎn)單過(guò)。
安全性基于windows認(rèn)證技術(shù)和每應(yīng)用程序配置,你可以確性你的原程序時(shí)絕對(duì)安全的。 asp.net 的語(yǔ)法在很大程度上與 asp 兼容,同時(shí)它還提供一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)??梢酝ㄟ^(guò)在現(xiàn)有 asp 應(yīng)用程序中逐漸添加 asp.net 功能,隨時(shí)增強(qiáng) asp 應(yīng)用程序的功能。 asp.net 是一個(gè)已編譯的、基于 .net 的環(huán)境,把基于通用語(yǔ)言的程序在服務(wù)器上運(yùn)行。將程序在服務(wù)器端首次運(yùn)行時(shí)進(jìn)行編譯,比asp即時(shí)解釋程序速度上要快很多.而且是可以用任何與 .net 兼容的語(yǔ)言序。另外,任何 asp.net 應(yīng)用程序都可以使用整個(gè) .net framework。開發(fā)人員可以方便地獲得這些技術(shù)的優(yōu)點(diǎn),其中包括托管的公共語(yǔ)言運(yùn)行庫(kù)環(huán)境、類型安全、繼承等等。 asp.net 可以無(wú)縫地與 wysiwyg html 編輯器和其他編程工具(包括 microsoft visual studio .net)一起工作。這不僅使得 web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點(diǎn),包括開發(fā)人員可以用來(lái)將服務(wù)器控件拖放到 web 頁(yè)的gui 和完全集成的調(diào)試支持。
當(dāng)創(chuàng)建 asp.net 應(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)行自定義. 如果你從來(lái)沒(méi)有開發(fā)過(guò)網(wǎng)站程序,那么這不適合你,你應(yīng)該至少掌握一些html和簡(jiǎn)單的web開發(fā)術(shù)語(yǔ)(不過(guò)我相信如果有興趣的話是可以很快的掌握的)。你不需要先前的asp開發(fā)經(jīng)驗(yàn)(當(dāng)然有經(jīng)驗(yàn)更好),但是你必須了解交互式web程序開發(fā)的概念,包含窗體,腳本,和數(shù)據(jù)接口的概念,如果你具備了這些條件的話,那么你就可以在asp.net的世界開始展翅高飛了。
首先我們學(xué)習(xí)了怎么設(shè)計(jì)主頁(yè),一個(gè)好的主頁(yè)可以給瀏覽者一個(gè)耳目一新的感覺(jué),所以網(wǎng)站主頁(yè)的布局就顯得格外重要了,好的布局加上親切的言語(yǔ),以及強(qiáng)大的功能,都會(huì)是瀏覽者感到無(wú)比的親切。這次我跟劉昕做的是樂(lè)糕網(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ù)。在這之后我們又做了留言板,通過(guò)ado.net調(diào)用存儲(chǔ)過(guò)程,做到了留言板功能的實(shí)現(xiàn),。前面所學(xué)到的數(shù)據(jù)訪問(wèn)都是web應(yīng)用程序直接訪問(wèn)數(shù)據(jù)庫(kù)。這種在web窗體中直接訪問(wèn)和操作數(shù)據(jù)庫(kù)中數(shù)據(jù)的方式是一種低效的資源使用方式,并且有可能產(chǎn)生安全風(fēng)險(xiǎn)。通過(guò)存儲(chǔ)過(guò)程訪問(wèn)數(shù)據(jù)庫(kù),可以有效地提高數(shù)據(jù)訪問(wèn)效率和數(shù)據(jù)的安全性。
可以在執(zhí)行復(fù)雜任務(wù)時(shí)減少窗體的編碼量,降低對(duì)網(wǎng)絡(luò)寬帶的需求;通過(guò)只允許可信賴的本地存儲(chǔ)過(guò)程直接訪問(wèn)數(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)出來(lái)。正是由于repeater控件沒(méi)有默認(rèn)的外觀,所以進(jìn)行界面設(shè)計(jì)的時(shí)候會(huì)感到不太直觀。但repeater控件非常靈活,可以通過(guò)對(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ā)人員的圖形編程工程工作。通過(guò)graphics類的屬性可以獲取graphics對(duì)象的分辨率,并能夠?yàn)間raphics對(duì)象進(jìn)行裁剪區(qū)域的選擇和判斷,而頁(yè)面中圖形的繪制則都是通過(guò)graphics類的實(shí)例方法實(shí)現(xiàn),同時(shí)引用了web服務(wù)器控件image。image控件同img標(biāo)簽一樣,其主要作用是在web頁(yè)面中顯現(xiàn)圖片信息,其主要屬性為imageurl,用于設(shè)置需要顯示的圖片的url地址。盡管asp.net提供的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ù),而是通過(guò)一定的算法產(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ì)樂(lè)購(gòu)網(wǎng)網(wǎng)站的制作。
在這短短的幾個(gè)月中,我知道在程序設(shè)計(jì)的時(shí)候,不要太在意程序是否最簡(jiǎn)潔靈活,對(duì)于一般開發(fā)者而言,程序規(guī)范化和可讀性可能比追求程序的靈活性更加重要。在互聯(lián)網(wǎng)資源越來(lái)越豐富的情況下,我們可以參考一些規(guī)范的程序源代碼來(lái)學(xué)習(xí)。同時(shí)我也知道,想要學(xué)好這門課程,所要具備很多條件,首先打代碼要規(guī)范,要做注釋,這樣回頭來(lái)看程序時(shí)可以很快的看懂,一方面可以練習(xí)自己的邏輯表達(dá)能力,對(duì)以后遇到難以實(shí)現(xiàn)的功能也可以很好的表達(dá)出來(lái)向別人請(qǐng)教,而且出去從事編程工作的話,代碼的規(guī)范是相當(dāng)重要的。還有一點(diǎn)要學(xué)會(huì)總結(jié),把自己做的程序用到的知識(shí)點(diǎn)列出來(lái)就可以很好的總結(jié)自己的知識(shí)點(diǎn)。當(dāng)形成知識(shí)體系,對(duì)知識(shí)的理解就會(huì)更上一層樓。
初學(xué)asp心得體會(huì)篇2
ASP內(nèi)置對(duì)象response
Response的屬性
.buffer (表明頁(yè)輸出是否被緩沖)
使用格式
Response.buffer=true/false
注:很多方法使用時(shí)對(duì)BUFFER屬性有要求,對(duì)其設(shè)置最好寫在ASP文件第一行。
.ContentType (指定HTTP輸出內(nèi)容類型)
使用格式
Response.ContentType="內(nèi)容類型"
.BinaryWrite (不經(jīng)過(guò)任何轉(zhuǎn)換,將指定的信息輸出,它主要輸出非字符信息)
使用格式
Response.BinaryWrite 二進(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)
使用格式
Response.Redirect 網(wǎng)址
Request對(duì)象Cookies集合用來(lái)取得用戶的相關(guān)信息
Response對(duì)象Cookies集合負(fù)責(zé)將數(shù)據(jù)設(shè)置到瀏覽器
寫入Cookies到用戶瀏覽器
response.Cookies("Cookies名")="Cookies值"
讀取Cookies
request.Cookies("Cookies名")
另類的Cookies
response.Cookies("Cookies名")("元素")
另類的Cookies的讀取
request.Cookies("Cookies名")("元素")
.expires (設(shè)置Cookies的過(guò)期時(shí)間)
使用格式
respones.Cookies("Cookies名").expires="過(guò)期的時(shí)間 (例:2006-7-17 7:17)"分享:
初學(xué)asp心得體會(huì)篇3
一、準(zhǔn)備工作
首先,學(xué)習(xí)asp要有些基本的編程知識(shí).最好先學(xué)過(guò)點(diǎn)vb java最好因?yàn)閍sp不是一門編程語(yǔ)言而是一個(gè)web編程框架.他是利用腳本(vbscript javascript)語(yǔ)言做為編程語(yǔ)言的.如果你不會(huì)他們那么至少得會(huì)點(diǎn)c.c也不會(huì)的話建議你先學(xué)下c,雖然并不是一定要先學(xué)過(guò)編程語(yǔ)言,但是學(xué)他對(duì)這個(gè)的學(xué)習(xí)是有莫大的好處的.在asp.net中,整張web頁(yè)是放在一張大表單里面的。如:
網(wǎng)頁(yè)的具體內(nèi)容??
在這個(gè)表單內(nèi)可能放置了很多html控件如按鈕、下拉菜單、文本框等。asp.net提供了一些服務(wù)器端web控件。在服務(wù)器上執(zhí)行的時(shí)候,通過(guò)一定的條件,web窗體將這些服務(wù)器web控件轉(zhuǎn)換為普通的html控件。比如一個(gè)按鈕:
經(jīng)過(guò)轉(zhuǎn)換后就變成了:
在asp.net中,一個(gè)web窗體被看成了一個(gè)對(duì)象。它的數(shù)據(jù)成員就是那些web控件和你自己定義的變量,它的函數(shù)成員就是那些用來(lái)響應(yīng)客戶端操作的函數(shù),當(dāng)然還有你自己定義的函數(shù)。我大致講一下用戶請(qǐng)求一張web頁(yè)的時(shí)候發(fā)生了一些什么事件:
首先,用戶第一次請(qǐng)求頁(yè)面時(shí),先執(zhí)行web頁(yè)的page_init過(guò)程,在這里通常對(duì)組件進(jìn)行初始化。然后執(zhí)行page_load過(guò)程,在這里,我們可以做一些初始化的工作。比如:設(shè)定標(biāo)簽控件的文本為:“初始”。然后,由于用戶是第一次請(qǐng)求頁(yè)面,所以沒(méi)有什么其他事件發(fā)生。程序控制轉(zhuǎn)為解釋執(zhí)行html代碼頁(yè)中的服務(wù)器代碼。在html中,有一個(gè)這就是我們的標(biāo)簽控件。因?yàn)槲覀冊(cè)趐age_load過(guò)程中對(duì)標(biāo)簽的文本賦值了,所以現(xiàn)在程序在將轉(zhuǎn)換為初始。而按鈕的轉(zhuǎn)換就類似于上面我已經(jīng)說(shuō)過(guò)內(nèi)容。經(jīng)過(guò)這些轉(zhuǎn)換以后,html頁(yè)內(nèi)的代碼變成了標(biāo)準(zhǔn)的代碼。然后,這些代碼被用戶瀏覽器得到了。經(jīng)過(guò)解析后,用戶就可以看到一個(gè)“初始”和一個(gè)按鈕。
現(xiàn)在,用戶對(duì)著按鈕點(diǎn)擊了一下。于是,表單就提交了。(提交的細(xì)節(jié),我下面再說(shuō))通過(guò)提交的表單,服務(wù)器得知這是用戶點(diǎn)擊了按鈕控件。并且這是用戶第二次請(qǐng)求該頁(yè)面了。于是,程序又執(zhí)行page_init過(guò)程、page_load過(guò)程。這時(shí),因?yàn)橛脩酎c(diǎn)擊了按鈕控件,則程序開始執(zhí)行另一個(gè)函數(shù),這個(gè)函數(shù)是用來(lái)專門處理用戶點(diǎn)擊了按鈕控件這個(gè)事件的。在這里,我們將標(biāo)簽控件的文本設(shè)置為:“點(diǎn)擊”。然后程序控制又轉(zhuǎn)到html頁(yè)。跟上面第一次請(qǐng)求時(shí)一樣。于是用戶在客戶端通過(guò)瀏覽器就可以看到一個(gè)“點(diǎn)擊”和一個(gè)按鈕了。
.net是通過(guò)隱藏控件來(lái)傳遞客戶端信息的,例如產(chǎn)生事件的控件的名字。然后,提交表單。這樣,服務(wù)器端就可以根據(jù)隱藏控件來(lái)確定產(chǎn)生事件的控件的名字,并產(chǎn)生服務(wù)器事件,進(jìn)而對(duì)該事件進(jìn)行處理。
對(duì)于一個(gè)熟練的程序員來(lái)說(shuō),他也不可能完全記住每個(gè)語(yǔ)言的各項(xiàng)細(xì)節(jié).再簡(jiǎn)單的語(yǔ)言也有很復(fù)雜的細(xì)節(jié),所以幫助文件是必須的.在一次又一次的查閱中你會(huì)發(fā)現(xiàn)自己查閱的次數(shù)越來(lái)越少了.如果你基本上不查閱了,那么你已經(jīng)基本上掌握這么語(yǔ)言了.(為什么說(shuō)基本上,那是因?yàn)橐婚T語(yǔ)言不是只有語(yǔ)法,還有其他的,比如編程思想,特性等)我列出的這些都是必須的,當(dāng)然還可以有些別的比如xml ajax技術(shù)等
運(yùn)行環(huán)境
在這里推薦iis畢竟asp是人家微軟的技術(shù).人家又那么牛,別人很難做的比他好啊!aspstudio很容易出錯(cuò),不怎么好,不推薦做大型項(xiàng)目.但是個(gè)人做點(diǎn)小東西的很方便很好,不過(guò)他好象不支持類的功能(也許是我沒(méi)找到支持它的版本,有請(qǐng)大蝦指出).net沒(méi)用過(guò)有請(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語(yǔ)言加客戶端javascript的頁(yè)面。所以你可一先學(xué)習(xí)下html語(yǔ)言,但是如果不是學(xué)過(guò)面向?qū)ο缶幊痰脑挘ㄗh你先不要看javascript。先就學(xué)點(diǎn) html語(yǔ)言,不要太深就學(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高度最好不要超過(guò)120
網(wǎng)頁(yè)標(biāo)題:好多人最開始學(xué)習(xí)的時(shí)候沒(méi)怎么注意過(guò)結(jié)果他編的網(wǎng)頁(yè)都是無(wú)標(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èn)題,網(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)用都寫的很清楚??梢灾苯诱襾?lái)運(yùn)用。
1.另外為了防止代碼亂碼,所以要有句如上面的.因?yàn)橹形木幋a都是gb2312不加這句很榮譽(yù)出錯(cuò)出現(xiàn)亂碼
2。開始學(xué)習(xí)的時(shí)候你可能沒(méi)注意過(guò)代碼的排版。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)求記憶。記憶是等你做多之后自然的事情。不過(guò)最基本的對(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é)的問(wèn)題.
開始編的話可以學(xué)習(xí)編寫一些小的模塊.比如新聞顯示,或折一個(gè)簡(jiǎn)單的留言本.練習(xí)下.然后做個(gè)簡(jiǎn)單的整站試下.
編程的時(shí)候要注意代碼盡量思路清晰.要有高的擴(kuò)展性,便宜以后擴(kuò)展.所以盡量做成函數(shù)和過(guò)程再在頁(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ì)象起屬性少的情況下,就不要建立一表.
比如我門常用的電子郵件,如過(guò)你不是做郵件服務(wù)器的話就沒(méi)的必要建立電子郵件的表,你只要在用戶的表里面建立個(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í)便宜兼容別的不支持漢語(yǔ)的數(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í)他的訪問(wèn)速度也限制整個(gè)網(wǎng)頁(yè)的速度(對(duì)于小型網(wǎng)站這個(gè)是主要的限制因素).
所以數(shù)據(jù)庫(kù)的操作很重要.我們?cè)谧鰯?shù)據(jù)庫(kù)操作的時(shí)候要記得盡量提高查詢速度.首先,要編寫盡量簡(jiǎn)單的查詢語(yǔ)句,不要一個(gè)查詢語(yǔ)句里面做很多圈套,少用或盡量不用聯(lián)合查詢.
盡量在搜索的時(shí)候用id字段查詢,少查詢字符,提高檢索速度.
其次,對(duì)于數(shù)據(jù)庫(kù)的資源.當(dāng)申請(qǐng)了連接用完就釋放.于最早的時(shí)間釋放資源.然后如果數(shù)據(jù)庫(kù)里面的記錄特別多的話,那么就最好做一些優(yōu)化我們?cè)诓樵兊臅r(shí)候只查詢前面1000記錄避免暫時(shí)無(wú)用的數(shù)據(jù)占用資源.同時(shí)也可以用asp自代的分頁(yè)功能.adoob對(duì)象有這個(gè)功能.
再次,對(duì)于復(fù)雜的事物處理我們可以用視圖和存儲(chǔ)過(guò)程,事實(shí)證明運(yùn)用試圖存儲(chǔ)過(guò)程能顯著提高速度.當(dāng)然建立必要的索引也是可以的.要在這些方面做好取舍.不過(guò)前提是你所用的數(shù)據(jù)庫(kù)都支持.
最后,我們可以把經(jīng)常用的業(yè)務(wù)查詢放入內(nèi)存.來(lái)優(yōu)化速度.這樣當(dāng)每次尋要用的時(shí)候就可以直接去內(nèi)存尋找,避免每次都查詢數(shù)據(jù)庫(kù).
4.asp編程
首先,我們?nèi)绻砰_始編程的的話,不要求什么新技術(shù).盡量采用簡(jiǎn)單的技術(shù).其實(shí)一個(gè)程序如果設(shè)計(jì)的思想很好很漂亮,那么我們就沒(méi)必要關(guān)心他是用什么技術(shù)實(shí)現(xiàn)的哪怕是最初級(jí)的技術(shù).一樣
是好程序,只要它能達(dá)到最開始的要求就是.而且對(duì)于我們才開始學(xué)習(xí)的人,如果一就研究這些復(fù)雜的東西是困難的,也沒(méi)的必要啊.等你基本是上很熟悉asp編程了.你可以去閱讀技術(shù)文檔.再去學(xué)習(xí).
其次,我們要照顧一些安全的需要.
1.檢測(cè)下sql語(yǔ)句編寫安全的sql語(yǔ)句.
比如這樣的語(yǔ)句就不怎么好:sql="select * from table1 where name="&rename傳過(guò)來(lái)的可能代有'號(hào)可以夠造一個(gè)查詢被注射.
可以這么寫sql="select * from table1 where name='"&rename&"'"
2.時(shí)刻記得檢測(cè)傳遞過(guò)來(lái)的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í)候最好最好加下面的語(yǔ)句
code:
'前面為查詢
if not rs.eof then
if rs("username")=md5(username) and rs("userpass")=md5(userpass) thensession("user")=true
response.redirect"轉(zhuǎn)入成功頁(yè)面"
else
response.redirect"轉(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í)候要采用字符過(guò)濾.過(guò)濾掉一些危險(xiǎn)的單詞,如 delete in to content 等最后要說(shuō)的是編譯運(yùn)行.
你寫的代碼不可能是完全正確的.需要通過(guò)服務(wù)器的檢測(cè)才行.但是一般一經(jīng)檢測(cè)都有那么點(diǎn)問(wèn)題.這時(shí)候就需要調(diào)試.我推薦大家采用aspstudio因?yàn)樗梢栽O(shè)置斷點(diǎn).方便找錯(cuò)及修改.不過(guò)他的技術(shù)可能不是很成熟有時(shí)候出錯(cuò).所以你有時(shí)候還是得用iis.有是在本地運(yùn)行不了的程序,在服務(wù)器上卻可以.所一你最好有個(gè)個(gè)人的動(dòng)態(tài)空間.方便測(cè)試.另外說(shuō)下的是,找錯(cuò)誤.一般是出的小錯(cuò)誤.比如編碼格式,或者一個(gè)if沒(méi)結(jié)束.這個(gè)以為就是邏輯錯(cuò)誤
在眾多的if語(yǔ)句中出錯(cuò)誤.大家向這個(gè)方面去找.一般不是什么大問(wèn)題.
四、總結(jié)
asp是容易上手,而且速度也很好,不用編譯為可執(zhí)行程序,所以他才這么流行.但是現(xiàn)在看來(lái)我感覺(jué)他的前途不大了.因?yàn)樗刑嗟拿?首先這個(gè)東西似乎特別不怎么安全.我看見的網(wǎng)站入侵大多數(shù)是asp的.其次它也不適宜特別大的項(xiàng)目.作為小中型運(yùn)用還可以.做為大型.他一是很不好做好邏輯與業(yè)務(wù)分離.程序用到東西太多,代碼再怎么注意清晰的編寫都感覺(jué)很亂.程序的偶合程度太強(qiáng).不便于以后改進(jìn)更新.十分不便于多人開發(fā).然后相對(duì)于jsp他不能跨平臺(tái).沒(méi)有其有著從小型到大型的web運(yùn)用的成熟的解決方案強(qiáng)大語(yǔ)言支持.同時(shí)不能向php一樣開源.而微軟現(xiàn)在又關(guān)注的是.net平臺(tái).
初學(xué)asp心得體會(huì)相關(guān)文章: