版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)站設(shè)計(jì)和開發(fā),2020年8月10日,第2頁,教學(xué)重點(diǎn),網(wǎng)站的工作原理 HTML JAVACRIPT ASP.NET與ASP IIS服務(wù)器的安裝與配置 ASP.NET網(wǎng)站開發(fā)的知識準(zhǔn)備,2020年8月10日,第3頁,網(wǎng)站的構(gòu)成要素,靜態(tài)網(wǎng)頁 Web服務(wù)器 動(dòng)態(tài)網(wǎng)頁,靜態(tài)網(wǎng)頁-HTML, 網(wǎng)頁標(biāo)題 標(biāo)題一 網(wǎng)頁內(nèi)容。 ,標(biāo)題標(biāo)記 段落級標(biāo)記 塊標(biāo)記 字符級標(biāo)記 列表 水平標(biāo)尺標(biāo)記 字體標(biāo)記 IMG 標(biāo)記,靜態(tài)網(wǎng)頁-HTML, 歡迎學(xué)習(xí) HTML 我的第一個(gè) HTML 文檔 這將是一種很有趣的體驗(yàn) 使用另一個(gè)標(biāo)題 另一個(gè)段落元素 單擊此處訪問北京阿博泰克北大青鳥信息技術(shù)有限公司的主頁 ,靜態(tài)網(wǎng)頁-
2、HTML, 學(xué)習(xí)HTML 第1部分 元素用于組織元素 DIV通常用于塊級元素 第2部分 這是第二部分 您覺得有意思嗎? 第二部分向右對齊。 公共格式應(yīng)用于這一部分中的所有元素 ,靜態(tài)網(wǎng)頁-HTML, 學(xué)習(xí) HTML 星期一 星期二 星期三 星期四 星期五 ,靜態(tài)網(wǎng)頁-HTML, 歡迎使用HTML 我的第一個(gè)HTML文檔 這將會是一種很有趣的體驗(yàn) ,靜態(tài)網(wǎng)頁-HTML, 插入圖像 插入圖像 底部對齊 圖2.15:示例15的輸出結(jié)果 頂部對齊 居中對齊 ,2020年8月10日,第10頁,靜態(tài)網(wǎng)頁,通常這些網(wǎng)頁只有HTML標(biāo)記,沒有其他可以執(zhí)行的程序代碼。 網(wǎng)頁的內(nèi)容是靜態(tài)不變的 網(wǎng)址形式通常為:
3、靜態(tài)網(wǎng)頁的后綴名一般為:.htm .html .shtml .xml 使用靜態(tài)網(wǎng)頁,如果要修改網(wǎng)頁內(nèi)容,就必須修改源代碼,然后重新上傳到服務(wù)器上。(在網(wǎng)站制作和維護(hù)方面工作量較大,在功能方面也有較大的限制),靜態(tài)頁面工作原理,2020年8月10日,第12頁,Web服務(wù)器,根據(jù)用戶的Web瀏覽器發(fā)送的請求提供相應(yīng)文件的一種軟件 也稱為HTTP服務(wù)器 常用的Web服務(wù)器包括: 微軟的IIS(Internet信息服務(wù)器) 網(wǎng)景的企業(yè)服務(wù)器(NES) Apache HTTP服務(wù)器等,這一時(shí)期的Web設(shè)計(jì)更像是平面設(shè)計(jì),而不是程序設(shè)計(jì)。這樣設(shè)計(jì)出來的頁面,只能呈現(xiàn)靜態(tài)的文本和圖像,無法提供滿足用戶需求的
4、交互模式,也無法展示動(dòng)態(tài)的信息。,靜態(tài)網(wǎng)頁的缺點(diǎn),2020年8月10日,第14頁,什么是動(dòng)態(tài)網(wǎng)頁,動(dòng)畫、Flash、applet等所謂動(dòng)態(tài)網(wǎng)頁只是視覺上的,與真正的“動(dòng)態(tài)網(wǎng)頁”是不同的概念 。示例 “動(dòng)態(tài)”主要指的是“交互性” 動(dòng)態(tài)網(wǎng)頁中不僅含有HTML標(biāo)記,而且含有可以執(zhí)行的程序代碼,動(dòng)態(tài)網(wǎng)頁能夠根據(jù)不同的輸入和請求動(dòng)態(tài)生成返回的頁面,例如常見的BBS、留言板、聊天室等就是用動(dòng)態(tài)網(wǎng)頁來實(shí)現(xiàn)的。 動(dòng)態(tài)網(wǎng)頁的后綴名:.aspx .asp .jsp .php等等,動(dòng)態(tài)網(wǎng)頁又分:客戶端動(dòng)態(tài)網(wǎng)頁和服務(wù)器端動(dòng)態(tài)網(wǎng)頁 客戶端動(dòng)態(tài):由瀏覽器上的模塊(插件)完成創(chuàng)建動(dòng)態(tài)網(wǎng)頁的全部工作。 服務(wù)器端動(dòng)態(tài):由Web
5、服務(wù)器處理請求后生成對應(yīng)的網(wǎng)頁發(fā)送回瀏覽器,動(dòng)態(tài)頁面工作原理,動(dòng)態(tài)網(wǎng)頁和靜態(tài)網(wǎng)頁的區(qū)別:,核心區(qū)別:是否在服務(wù)器端運(yùn)行!動(dòng)態(tài)網(wǎng)頁中的某些腳本只能在服務(wù)器端運(yùn)行,而靜態(tài)網(wǎng)頁中的任何腳步都不能在服務(wù)器端運(yùn)行。動(dòng)態(tài)網(wǎng)頁中可以同時(shí)包含客戶端腳本和服務(wù)器腳本,而靜態(tài)網(wǎng)頁中只能包含客戶端腳本。 后綴名差別: 靜態(tài):.html .htm 動(dòng)態(tài):.asp .aspx .jsp .php等等,2020年8月10日,第18頁,ASP,ASP全稱為Active Server Pages(中文譯名為活動(dòng)服務(wù)器頁面),是微軟公司推出的用于Web應(yīng)用服務(wù)的一種編程技術(shù) 語法簡單,易學(xué)易用。 asp采用的腳本語言:VBSc
6、ript 和JavaScript。 代碼嵌入到HTML語言中。,JavaScript簡介,JavaScript簡介 前身叫作LiveScript,是一種基于對象(Object)和事件驅(qū)動(dòng)(EventDriven)、并具有安全性能的腳本語言。 JavaScript與Java 是兩個(gè)公司開發(fā)的兩個(gè)不同的產(chǎn)品,作用與用途大不一樣,但兩者語法上有很多多相似之處,JavaScript并不是Java的子集。 JavaScript、Jscript與ECMAScript ,什么是JavaScript,JavaScript 是一種腳本語言 alert(new Date(); 提供用戶交互 動(dòng)態(tài)更改內(nèi)容 數(shù)據(jù)驗(yàn)證
7、,將JavaScript嵌入網(wǎng)頁,可以將 JavaScript 語句插入 HTML 文檔,方式 如下: 在HTML標(biāo)記中直接寫入JavaScript代碼 使用 標(biāo)簽將語句嵌入文檔 將 JavaScript 源文件鏈接到 HTML 文檔中,在HTML標(biāo)記中直接寫入JavaScript代碼 鼠標(biāo)移過來 運(yùn)行,將腳本程序代碼作為屬性值,javascript ,使用 Script 標(biāo)簽,JavaScript 代碼, document.write(歡迎來到 JavaScript 世界); 盡情享受學(xué)習(xí)的快樂! ,腳本代碼,設(shè)置語言,腳本代碼的位置,JavaScript代碼可以放置在HTML任何位置 va
8、r x = 3; 這是一個(gè)HTML段落 alert(x); ,這是一個(gè)HTML段落 var x = 3; alert(x); , ,使用外部 JS 文件,外部 JavaScript 文件(*.js)可以鏈接到 HTML 文檔中 SCRIPT 標(biāo)簽的 SRC(源文件)屬性可用于包括此外部文件, ,使用外部 JS 文件,JavaScript 代碼 (test.htm), 使用外部文件 以上文本是通過訪問外部 JavaScript 文件顯示的 ,JavaScript的基本語法,JavaScript中的標(biāo)識符 標(biāo)識符是指JavaScript中定義的符號,例如, 變量名,函數(shù)名,數(shù)組名等。標(biāo)識符可以由任
9、意順序的大小寫字母、數(shù)字、下劃線(_)和美元符號($)組成,但標(biāo)識符不能以數(shù)字開頭,不能是JavaScript中的保留關(guān)鍵字。 合法的標(biāo)識符舉例:indentifler、username、user_name、_userName、$username 非法的標(biāo)識符舉例:int、98.3、Hello World JavaScript嚴(yán)格區(qū)分大小寫 computer和Computer是兩個(gè)完全不同的符號 JavaScript程序代碼的格式 每條功能執(zhí)行語句的最后必須用分號(;)結(jié)束,每個(gè)詞之間用空格、制表符、換行符或大括號、小括號這樣的分隔符隔開。 JavaScript程序的注釋 /*.*/中可以嵌套
10、“/”注釋,但不能嵌套“/*.*/”,JavaScript中保留的關(guān)鍵字,abstract,boolean,break,byte,case,catch,char,class,continue,default,if,for,float,finally,final,false,extends,else,double,do,implements,import,instance,int,interface,long,native,new,null,backage,this,synchronized,switch,super,static,short,return,public,protected,pr
11、ivate,throw,throws,transient,true,try,void,volatile,while,基本數(shù)據(jù)類型與常量,整型常量 十六進(jìn)制以0 x或0X開頭, 例如0 x8a。 八進(jìn)制必須以0開頭,例如:0123。 十進(jìn)制的第一位不能是0(數(shù)字0除外),例如:123。 實(shí)型常量 12.32、 192.98、 5E7、4e5等。 布爾值 true和false. null常量 undefined常量 字符串型常量 “this is JavaScript ppt”、abc、“a”、“”。 字符串中的特殊字符,需要以反斜杠()后跟一個(gè)普通字符來表示,例如:r、n、 t、 b、 、 ”、
12、 .,聲明變量,var a; “var” 用于聲明變量的關(guān)鍵字 “a” 變量名,同時(shí)聲明和初始化變量 var a= 10;,a = 10;,聲明變量,聲明多個(gè)變量 var x, y, z = 10;,賦值,聲明變量, 使用變量 var x; x=prompt(淘寶網(wǎng)竟拍,請出一口價(jià),1) ; document.write(拍賣價(jià)格+x+) / +用來連接多個(gè)字符串 document.write(恭喜您,您以最高價(jià)拍賣成功!); alert(歡迎下次光臨!); ,定義變量,賦 值,輸 出,prompt(“提示信息”,”默認(rèn)值”) 將彈出提示對話框,接受用戶的輸入。點(diǎn)擊確定返回輸入的字符串,點(diǎn)擊取
13、消反饋空字符串。,eval(字符串):將傳入的字符串參數(shù)內(nèi)容,轉(zhuǎn)換成相應(yīng)的數(shù)值,例如: y=eval(“15”)+8; 結(jié)果:y=23 parseInt(字符串,底數(shù)):將傳入的字符串,轉(zhuǎn)換成指定底數(shù)的數(shù)值。 parseFloat(字符串):將傳入的字符串,轉(zhuǎn)換成浮點(diǎn)數(shù)值。 舉例,數(shù)據(jù)類型轉(zhuǎn)換,運(yùn)算符,算術(shù)運(yùn)算符 賦值運(yùn)算符 比較運(yùn)算符 邏輯運(yùn)算符 位運(yùn)算符,算術(shù)運(yùn)算符,+ 加法運(yùn)算符或正值運(yùn)算符,例如: x+5, 6。 “+”還能實(shí)現(xiàn)多個(gè)字符串的相加,也能將字符串與其它的數(shù)據(jù)類型連成一個(gè)新的字符串,條件是該表達(dá)式中至少有一個(gè)字符串,例如:“x”+123的結(jié)果是“x123”. - 減法運(yùn)算符或
14、負(fù)值運(yùn)算符,例如: 7 3, -8. * 乘法運(yùn)算符,例如: 3*6. / 除法運(yùn)算符,例如,9/4. % 求模運(yùn)算符(也就算術(shù)中的求余)5/2. + 將變量值加1后再將結(jié)果賦給這個(gè)變量。 “”有兩種用法:+x, x+. 1。前者是變量在參與其它運(yùn)算之前先將自己加1后再用新的 值參與其它的運(yùn)算。例如:b= +a是a先自增,即a的值 加1后,才賦值給b; 2。后者是先用原值參與其它運(yùn)算后,再將自己加1,例如: b=a+是先將a賦值給b后,a再自增。 - 將變量值減1后再將結(jié)果賦給這個(gè)變量,與+的用法一樣。,程序的流程控制,順序結(jié)構(gòu) if條件選擇語句 switch選擇語句 while循環(huán)語句 do
15、 while語句 for循環(huán)語句 break與continue語句,函數(shù),函數(shù)的作用與定義 全局變量與局部變量 參數(shù)個(gè)數(shù)可變的函數(shù) 創(chuàng)建動(dòng)態(tài)函數(shù) JavaScript中的系統(tǒng)函數(shù),函數(shù)的作用,。 。 函數(shù)1 。 。 函數(shù)2 。 。 函數(shù)1 。 。,主程序,。 函數(shù)3 。 。,函數(shù)1,。 。 。,函數(shù)2,。 。 。,函數(shù)3,函數(shù)的定義與調(diào)用,定義一個(gè)函數(shù)的格式如下: function 函數(shù)名(參數(shù)列表) 程序代碼: return 表達(dá)式; 對函數(shù)進(jìn)行調(diào)用的幾種方式: 1.函數(shù)名(傳遞給函數(shù)的參數(shù)1, 傳遞給函數(shù)的參數(shù)2, ) 2.變量 函數(shù)名(傳遞給函數(shù)的參數(shù)1, 傳遞給函數(shù)的參數(shù)2, ) 3.
16、對于有返回值的函數(shù)調(diào)用,也可以在程序中直接使用返回的結(jié)果,例如:alert(“sum = ”+square(2, 3);,變量 a、b 和 c 只能 在其各自的函數(shù)中 被訪問,變量的作用域,腳本,函數(shù)function1 局部變量a,函數(shù)function2 局部變量b,函數(shù)function3 局部變量c,可由函數(shù) 1、函數(shù) 2 和函數(shù) 3 訪問,全局變量 gg,全局變量不需要以 var 關(guān)鍵字進(jìn)行聲明,但局部變量則必須 以此關(guān)鍵字來聲明,參數(shù)個(gè)數(shù)可變的函數(shù), function testparams() var params = “”; for(var i=0; i 在函數(shù)內(nèi)部使用argument
17、s對象來訪問調(diào)用程序傳遞的所有參數(shù),創(chuàng)建動(dòng)態(tài)函數(shù),創(chuàng)建動(dòng)態(tài)函數(shù)的基本語法格式: var varName = new Function(argument1, . , lastArgument); 說明: 所有的參數(shù)都必須是字符串型的,最后參數(shù)必須是這個(gè)動(dòng)態(tài)函數(shù)的功能代碼。 例子: var square = new Function(“x”, “y”, “var sum; sum = x*x+y*y; return sum;”); alert(square(3, 2); ,JavaScript 函數(shù),內(nèi)置函數(shù) eval 函數(shù): 用于計(jì)算字符串表達(dá)式的值 isNaN 函數(shù):用于驗(yàn)證參數(shù)是否為 NaN
18、(非數(shù)字),對象,對象與對象實(shí)例 構(gòu)造方法與this關(guān)鍵字的作用 在對象函數(shù)中變量作用域的問題 JavaScript的內(nèi)部對象,對象與對象實(shí)例,對象中所包含的 變量就是對象的屬性; 對屬性進(jìn)行操作的函數(shù)就是對象的方法; 對象的屬性和方法都叫對象的成員。 對象是對某一類事物的描述,是抽象上的概念; 而對象實(shí)例是一類事物中的具體個(gè)例。 能夠被用來創(chuàng)建對象實(shí)例的函數(shù)就叫對象的構(gòu)造函數(shù),只要定義了一個(gè)對象的構(gòu)造函數(shù)就等于定義了一個(gè)對象,使用new關(guān)鍵字和對象的構(gòu)造函數(shù)就可以創(chuàng)建對象實(shí)例,語法格式如下: var objInstance = new ObjName(傳遞給該對象的實(shí)際參數(shù)列表);,Java
19、Script 對象簡介,三類對象,瀏覽器對象,內(nèi)部對象,HTML 對象,瀏覽器窗口window 文檔 document url地址等,String字符串對象 Date日期對象 Math數(shù)學(xué)對象等,各種HTML標(biāo)簽: 段落 圖片 超鏈接等,構(gòu)造方法與this關(guān)鍵字,為一個(gè)對象實(shí)例新增加的屬性和方法,不會增加到同一個(gè)對象所產(chǎn)生的其它對象實(shí)例上。 所有的實(shí)例對象在創(chuàng)建后都會自動(dòng)調(diào)用構(gòu)造函數(shù),在構(gòu)造函數(shù)中增加的屬性和方法會被增加到每個(gè)對象實(shí)例上。 對象實(shí)例是用new關(guān)鍵字創(chuàng)建的,在構(gòu)造方法中不要有返回結(jié)果的return語句。 調(diào)用對象的成員方法時(shí),需要使用“對象實(shí)例.成員方法”的形式,很顯然,用作成員
20、方法的函數(shù)被調(diào)用時(shí),一定伴隨有某個(gè)對象實(shí)例。this關(guān)鍵字代表某個(gè)成員方法執(zhí)行時(shí),引用該方法的當(dāng)前對象實(shí)例,所以,this關(guān)鍵字一般只在用作對象方法的函數(shù)中出現(xiàn)。, function Person(name, age) this.age = age; = name; this.say = sayFunc; function sayFunc() alert(+” : ”+this.age); var person1 = new Person(“張三”, 18); person1.say(); var person2 = new Person(“李四”,20)
21、; person2.say(); ,JavaScript的內(nèi)部對象,動(dòng)態(tài)對象 使用“對象實(shí)例名.成員”的格式來訪問其屬性和方法 靜態(tài)對象 直接使用“對象名.成員”的格式來訪問其屬性和方法。 Object對象 String對象 Math對象 Date對象 toString方法,Object對象,Object對象提供了一種創(chuàng)建自定義對象的簡單方式,不需要程序員再定義構(gòu)造函數(shù)。 function getAttributeValue(attr) alert(personattr); var person = new Object(); =“zs”; person.age = 18
22、; getAttributeValue(“name”); getAttributeValue(“age”); ,String 對象,創(chuàng)建字符串有兩種不同方法 : 使用 var 語句 var newstr = “這是我的字符串”; 創(chuàng)建 String 對象 var newstr = new String(“這是我的字符串”),String 對象,語法: indexOf(“查找的子字符串”,查找的起始位置) 返回子字符串所在的位置,如果沒找到,返回 1 例如: var x var y=“abcdefg”; x=y.indexOf(“c” , 0 ); /返回結(jié)果為2,起始位置是0,String對象
23、,charAt方法:返回指定位置的字符 注意:一個(gè)字符串的第一個(gè)字符的索引位置為0,依次類推。 charCodeAt方法:返回指定位置字符的Unicode編碼 lastIndexOf方法:從右向左執(zhí)行 match、search方法:使用正則表達(dá)式搜索 replace方法:使用正則表達(dá)式替換 split方法:按照指定分隔符拆分字符串 slice方法:返回兩個(gè)指定位置的子字符串 說明:str1.slice(0)和str1.slice(0, -1)都是返回整個(gè)字符串。 substr、substring方法:返回指定位置和長度的子字符串 注意:substring方法返回的內(nèi)容不包含結(jié)束位置的字符。,M
24、ath對象,Math對象是一個(gè)靜態(tài)對象, 不能使用new關(guān)鍵字創(chuàng)建對象實(shí)例,應(yīng)直接使用“對象名。成員”的格式訪問其屬性或方法,例如: var num = Math.random();,Math 對象,Math.random( ) :產(chǎn)生01的隨機(jī)小數(shù) Math.round( ):四舍五入取整,如9.34 取整為9, 自動(dòng)刷新 document.write(2秒自動(dòng)刷新,隨機(jī)顯示圖片); var i=0; i=Math.round(Math.random( )*8+1); document.write(); ,Math 對象,假定隨機(jī)產(chǎn)生的數(shù)字i=3,上述代碼即為: 顯示第三幅圖片(3.jpg)
25、,如何實(shí)現(xiàn),每隔2秒刷新網(wǎng)頁,Math.round(Math.random( )*8+1) 產(chǎn)生1-9的數(shù)字,Date 對象,Date 對象存儲的日期為自 1970 年 1 月 1 日 00:00:00 以來的毫秒數(shù),var 日期對象 = new Date (年、月、日等參數(shù)),例: var mydate=new Date( “July 29, 1998,10:30:00 ”) 如果沒有參數(shù),表示當(dāng)前日期和時(shí)間 例: var today = new Date( ),Date 對象,Data 方法的分組:,Date 對象,用作 Date 方法的參數(shù)的整數(shù):,Date 對象,Set 方法:,Dat
26、e 對象,Get 方法:,Date 對象,To 方法:,Parse 方法和 UTC 方法, var now= new Date( ); var hour = now.getHours( ); if (hour=0 ,Date對象,如何實(shí)現(xiàn),獲得當(dāng)前日期和時(shí)間,獲得小時(shí),即當(dāng)前是幾點(diǎn),判斷上午、下午還是晚上,月份數(shù)字011,注意1,Date對象,setTimeout的用法: setTimeout(“調(diào)用的函數(shù)”,”定時(shí)的時(shí)間”) 例: var myTimesetTimeout(”disptime( )”,1000); clearTimeout(myTime);,隔1000毫秒調(diào)用函數(shù)dispti
27、me( )執(zhí)行,關(guān)閉定時(shí)器,本例的時(shí)間可以采用定時(shí)顯示,使用定時(shí)器函數(shù),隔1秒調(diào)用disptime( )函數(shù)顯示時(shí)間,Date 對象,var myTime = setTimeout(disptime( ),1000); 設(shè)置定時(shí)器隔1秒(1000毫秒),調(diào)用函數(shù)disptime( )執(zhí)行,刷新時(shí)鐘顯示,toString方法,toString方法是JavaScript中的所有內(nèi)部對象的一個(gè)成員方法,它的主要作用就是將對象中的數(shù)據(jù)轉(zhuǎn)換成某種格式的字符串來表示,具體的轉(zhuǎn)換方式取決于對象的類型。 舉例: var x = 328; alert(“hes=” + x.toString(16)+”bin=”
28、+x.toString(2); ,forin舉例, function Person() = “sky”; this.age = 19; this.height = 172; var p1 = new Person(); var prop, str = “”; for(prop in p1) str += prop .name; alert(str); ,數(shù)組,數(shù)組列表 用對象的方式實(shí)現(xiàn)數(shù)組 Array對象,數(shù)組,聲明數(shù)組 var 數(shù)組名 = new Array(數(shù)組大小); 例: var emp = new Array(3) 添加元素 emp0 = “AA; emp1 =
29、“BB; emp2 = “CC;,emp,也可以聲明數(shù)組并賦初值: 例: var emp=new Array(“AA”,“BB”,“CC”);,Array對象,三種構(gòu)造方法 Array() Array(4) Array(3.4, “abc”, 3),數(shù)組列表,數(shù)組列表用于表示一組數(shù)據(jù)的集合,它由一對方括號( )包圍,列表中的每個(gè)元素用逗號分隔,數(shù)組元素可以是任類型的數(shù)據(jù)(包括其他數(shù)組)。例如: var arr=“sky”, 123, li, 3.5; 對于每個(gè)數(shù)組變量,都有一個(gè)length屬性,表示該數(shù)組中元素的個(gè)數(shù)。 使用“數(shù)組變量名索引號”的格式來訪問每個(gè)數(shù)組元素。數(shù)組列表中的第一個(gè)元素的
30、索引號為0,最后那個(gè)元素的索引號為數(shù)組的length屬性值減1. 數(shù)組列表的每個(gè)元素既可以是有效的JavaScript表達(dá)式,也可以為空,空元素的值為undefined.例如 : var arr = 1, , , , 5; 數(shù)組元素本身又是數(shù)組,就叫數(shù)組的數(shù)組,例如: “names”, “beansproul”, “pumpkin”, “max”, “ages”, 6, 5, 4 使用“數(shù)組變量名子數(shù)組索引號子數(shù)組中的元素索引號”的格式來訪問數(shù)組的數(shù)組中的元素。,數(shù)組,常用屬性 length :返回?cái)?shù)組中元素的個(gè)數(shù) 常用方法, var arr =“names”, “beansproul”, “
31、pumpkin”, “max”, “ages”, 6, 5, 4 for(var i = 0; i,用對象的方式實(shí)現(xiàn)數(shù)組, function MyArray() this.length = arguments.length; for(var I = 0; i, function MyArray(size) this.length = size; for(var j = 0; j,2020年8月10日,第76頁,ASP.NET(ASP的發(fā)展),微軟公司很快公布了其宏偉的“Windows.NET”計(jì)劃,發(fā)布了成為下一代網(wǎng)絡(luò)服務(wù)框架的NGWS,同時(shí)將其ASP技術(shù)升級為ASP+ 2000年11月,微軟
32、公司推出Visual Studio.NET 7.0開發(fā)工具的Beta版本,將NGWS更名為.NET Framework,此時(shí)ASP+也正式改名為現(xiàn)在的ASP.NET。 ASP.NET與 ASP相比速度更快,功能更加強(qiáng)大。,ASP.NET與.net框架的關(guān)系,搭建ASP.NET開發(fā)運(yùn)行環(huán)境最重要的是安裝.NET Framework,即.net框架。 .NET框架 .NET框架(.NET Framework)是一套應(yīng)用程序開發(fā)和運(yùn)行的平臺或者環(huán)境,而ASP.NET則是這個(gè)平臺中的一部分,主要負(fù)責(zé)WEB應(yīng)用程序的開發(fā),為WEB應(yīng)用程序開發(fā)提供接口,因此要想利用ASP.NET技術(shù)開發(fā)WEB應(yīng)用程序,必
33、須安裝.NET框架。,2020年8月10日,第78頁,.NET框架,CLR:為基于.net平臺的一切操作提供一個(gè)統(tǒng)一的運(yùn)行環(huán)境。 .net類庫(基類庫):是.net應(yīng)用軟件開發(fā)的基礎(chǔ)類庫,也是.NET平臺本身的實(shí)現(xiàn)基礎(chǔ)。 ADO.NET為.net框架提供統(tǒng)一的數(shù)據(jù)訪問技術(shù)。,2020年8月10日,第79頁,技術(shù)特點(diǎn),多語言支持 Visual Basic .NET Visual C+ C# Jscript .NET 多平臺支持 所有支持.NET的Windows平臺 性能 強(qiáng)大的性能和可伸縮性,ASP.NET 的多語言支持,代碼編譯執(zhí)行,_ _ _ _,代碼,編譯,Microsoft 中間語言 (
34、MSIL 或 IL),JIT 編譯器,機(jī)器語言,分別編譯 IL 的每一部分,2020年8月10日,第81頁,C#與ASP.NET,C#語言是一門簡單,現(xiàn)代,優(yōu)雅,面向?qū)ο螅愋桶踩?,平臺獨(dú)立的一門新型組件編程語言 很多人學(xué)ASP.NET,不知道用好還是c#好,看 簡單就選擇了,結(jié)果學(xué)了接近兩個(gè)月才在幾個(gè)高手朋友的指點(diǎn)下,改成C#,當(dāng)然,我這不是說VB.net不好,只是說c#的代碼看起來簡潔點(diǎn)。而且目前絕大多數(shù)公司使用C#.,IIS服務(wù)器,Internet Information Server(簡稱IIS)是Windows系統(tǒng)提供的一種服務(wù),它包括WWW服務(wù)器、FTP服務(wù)器和SMTP服務(wù)器,是架
35、設(shè)個(gè)人網(wǎng)站的首選。 程序運(yùn)行inetmgr,Windows 2000 Server在安裝的過程中會自動(dòng)安裝IIS 5.0,而Windows 2000 Professional和Windows XP則不會,必須用添加Windows組件的方式另行安裝。下面以Windows XP為例,介紹安裝IIS 5.1的過程。 1. 安裝IIS 安裝IIS的步驟如下: 從桌面的“開始”菜單中選擇“控制面板”,打開“控制面板”。雙擊“添加或刪除程序”圖標(biāo),打開“添加或刪除程序”對話框。, 用鼠標(biāo)單擊左邊的“添加/刪除Windows組件”圖標(biāo),打開“Windows組件向?qū)А?圖1-12)。,圖1-12 Window
36、s組件向?qū)?選中“組件”列表中的“Internet信息服務(wù)(IIS)”選項(xiàng),單擊“下一步”按鈕,組件向?qū)Ъ撮_始安裝所選組件。在安裝向?qū)У淖詈笠豁搯螕簟巴瓿伞卑粹o,完成組件的安裝。,2. Internet信息服務(wù)器 在“控制面板”中雙擊“管理工具”圖標(biāo),打開“管理工具”對話框,在其中雙擊“Internet信息服務(wù)”圖標(biāo),打開Internet信息服務(wù)器窗口,如圖1-13所示。,圖1-13 Internet信息服務(wù)器窗口,3配置 IIS,虛擬目錄是Web 服務(wù)器使用的邏輯目錄名,與服務(wù)器上的物理目錄相對應(yīng),使用 IIS 創(chuàng)建虛擬目錄,步驟 1:在“默認(rèn) Web 站點(diǎn)” 中創(chuàng)建一個(gè)虛擬目錄。,步驟 2
37、:給出此虛擬目錄的別名。,步驟 3:選擇虛擬目錄的位置。,步驟 4:為此目錄選擇適當(dāng)?shù)脑L問權(quán)限。,激活瀏覽器,在地址欄中輸入本機(jī)的網(wǎng)址,如http:/localhost/,4. 測試IIS,VS2008的下載及破解,.net自學(xué)手冊1-Visual Studio 2008的下載及破解 ,HTML+C#+ADO.NET+access/SQL server,理論學(xué)習(xí)要求,ASP.NET開發(fā)程序的一般步驟,Web 窗體的 IDE,Web 窗體的 IDE,菜單欄和工具欄,工具箱,解決方案資源管理器,服務(wù)器資源管理器,“屬性”窗口,創(chuàng)建 Web 應(yīng)用程序,在 .NET 環(huán)境中使用 Visual C# 構(gòu)
38、建一個(gè)ASP.NET Web 應(yīng)用程序,已創(chuàng)建虛擬目錄,按照提供的名稱創(chuàng)建解決方案和項(xiàng)目,同時(shí)還創(chuàng)建了默認(rèn)引用和文件,默認(rèn)的 Web 應(yīng)用程序文件,Global.asax 2-1,“Global.asax”,存儲所有事件的事件處理程序,存儲在應(yīng)用程序的根目錄下,它的位置定義應(yīng)用程序的限界,包含所有應(yīng)用程序的配置設(shè)置,Global.asax 2-2,httpApplication類,實(shí)例,事件,事件處 理程序,Global.asax,配置設(shè)置,存儲于,文件,利用提供的內(nèi)置對象,可以實(shí)現(xiàn)頁面之間的數(shù)據(jù)傳遞及實(shí)現(xiàn)一些特定的功能,如:緩沖輸出,頁面重定向等等。 Response Request Ser
39、ver Application Session Cookie,Response對象,作用: 將動(dòng)態(tài)生成的信息嵌入到HTML文檔中,然后發(fā)送到客戶端; 緩沖輸出數(shù)據(jù); 重定向?yàn)g覽器到另一個(gè)URL; 向?yàn)g覽器輸出Cookie文件。 其類名為httpResponse,Response對象,常用屬性和方法 Write() 向客戶端發(fā)送字符串信 BufferOutPut 屬性,是否使用緩存 Buffer屬性,是否使用緩存 ContentType 屬性,指定輸出文檔的類型 Clear() 清除緩存 Flush() 強(qiáng)制輸出緩存的所有數(shù)據(jù) Redirect()網(wǎng)頁轉(zhuǎn)向地址 End()終止當(dāng)前頁的運(yùn)行 Wri
40、teFile()讀取一個(gè)文件,并且寫入客戶端輸出流,向?yàn)g覽器輸出數(shù)據(jù),Response對象可以將一些動(dòng)態(tài)生成的信息插入到網(wǎng)頁中,需要使用如下形式: Response.write 其中,不管表達(dá)式的結(jié)果是什么類型,最終都作為字符串插入到網(wǎng)頁中。,向?yàn)g覽器輸出數(shù)據(jù),例:在網(wǎng)頁中嵌入動(dòng)態(tài)信息 % ,注意:如果直接將腳本代碼嵌入到HTML中,則它必須包含在之間。,向?yàn)g覽器輸出數(shù)據(jù),程序清單 處理Page_Load事件,添加如下代碼: Response.Write(專業(yè)名稱列表:); Response.Write(); Response.Write(計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)); Response.Write(計(jì)算
41、機(jī)信息管理); Response.Write(軟件技術(shù)與開發(fā)); Response.Write();,向?yàn)g覽器輸出數(shù)據(jù),Response 輸出客戶端腳本 彈出對話框 Response.Write(alert(歡迎學(xué)習(xí)ASP.NET) Response.Write(msgbox(hello!) 打開一個(gè)新的IE窗口 Response.Write(window.open(WebForm2.aspx),RegisterStartupScript(, alert(信息有誤!);,向?yàn)g覽器輸出數(shù)據(jù),Response的緩沖輸出 ASP.NET 提供了緩沖機(jī)制,能夠?qū)⒁敵龅娇蛻舳藬?shù)據(jù)首先保存在服務(wù)器的緩存
42、區(qū)域,當(dāng)處理完整個(gè)Response響應(yīng)之后再一次性地發(fā)給客戶端,這樣能夠大大加快訪問和處理數(shù)據(jù)的速度。 Response對象的BufferOutPut或Buffer屬性,指示是否緩沖Response的輸出: Response.BufferOutput = True; Response.Buffer= True;,向?yàn)g覽器輸出數(shù)據(jù),與緩沖輸出對應(yīng)的幾個(gè)方法 Clear() 清除緩存 Flush() 強(qiáng)制輸出緩存的所有數(shù)據(jù) End()終止當(dāng)前頁的運(yùn)行,向?yàn)g覽器輸出數(shù)據(jù),輸出內(nèi)容指定 瀏覽器請求一網(wǎng)頁時(shí),服務(wù)器會將一個(gè)HTML文檔發(fā)送給客戶端瀏覽器,服務(wù)器也可以使用Response對象的Conten
43、tType屬性指明向?yàn)g覽器發(fā)送的是其他類型的文檔。指明發(fā)送給客戶端瀏覽器的是什么類型的文檔,可使用如下形式: Response.ContentType=內(nèi)容類型 內(nèi)容類型的書寫格式為“類型子類型”: 默認(rèn)值:“text/HTML” 純文本:“text/plain” Word文檔:“application/MSWord” 圖片:“image/GIF”,使頁面轉(zhuǎn)向(頁面重定向),使用Response對象的redirect方法可以把用戶引導(dǎo)到指定的某個(gè)網(wǎng)頁。形式如下: Response.redirect 網(wǎng)頁地址 例如: Response.Redirect();,使頁面轉(zhuǎn)向(頁面重定向),在按鈕事件
44、中根據(jù)選擇的用戶身份登錄到不同的頁面,停止向頁面輸出數(shù)據(jù),Response.End() 終止當(dāng)前頁的運(yùn)行,向?yàn)g覽器輸出文件,Response.WriteFile(FileName)其中:FileName 指需向?yàn)g覽器輸出的文件名。 作用:直接將文件中的內(nèi)容嵌入到頁面中,下面是文件的內(nèi)容,Request對象,作用:Request對象主要是讓服務(wù)器取得客戶端瀏覽器的一些數(shù)據(jù),包括從HTML表單用Post或者GET 方法傳遞的參數(shù)、Cookie和用戶認(rèn)證。因?yàn)镽equest對象是Page對象的成員之一 ,所以在程序中不需要做任何的聲明即可直接使用; 其類名為 HttpRequest,使用Reques
45、t.Form屬性獲取數(shù)據(jù),通過該屬性,讀取 之間的表單數(shù)據(jù).注意:提交方式要設(shè)置為“Post”。 與Get方法相比較,使用Post方法可以將大量數(shù)據(jù)發(fā)送到服務(wù)器端。 不推薦使用,利用Request.QueryString屬性獲取數(shù)據(jù),Request對象的QuerySting屬性可以獲取 HTTP查詢字符串變量集合 。通過該屬性,我們可以讀取地址信息http:/localhost/aaa.aspx?uid=tom ddlcomputer.Items.Add(計(jì)算機(jī)信息管理); ddlcomputer.Items.Add(軟件技術(shù)與開發(fā)); ddlcomputer.SelectedIndex =
46、0; rblSex.Items.Add(男); rblSex.Items.Add(女); rblSex.SelectedIndex = 0; Me.Button1.Text = 登錄; Response.Write(Request(ddlcomputer); Response.Write(Request(rblSex); Response.Write(Request(TextBox1);,獲取客戶端瀏覽器信息,Response.Write(客戶端瀏覽器為: + HttpContext.Current.Request.Browser.Browser); Response.Write(客戶端瀏覽器
47、版本為: + HttpContext.Current.Request.Browser.Version); Response.Write( 客戶端訪問的網(wǎng)址為: + HttpContext.Current.Request.Url); Response.Write(客戶端主機(jī)為: + HttpContext.Current.Request.UserHostAddress);,Server對象,Server對象簡介 Server對象提供對服務(wù)器上的方法和屬性進(jìn)行的訪問 .其類名稱是HttpServerUtility. Server對象的主要屬性有: MachineName:獲取服務(wù)器的計(jì)算機(jī)名稱。
48、ScriptTimeout:獲取和設(shè)置請求超時(shí)(以秒計(jì))。,Server對象,Server對象的常用方法,向?yàn)g覽器輸出HTML代碼,編碼:Server.HtmlEncode(“HTML代碼”) 解碼:Server.HtmlDecode(“已編碼的HTML”),String str= Server對象的使用“; Response.Write(字符串不經(jīng)Html編碼直接輸出:); Response.Write(str); Response.Write(字符串經(jīng)過Html編碼后輸出:); String strHtmlContent = Server.HtmlEncode(str); Response
49、.Write(strHtmlContent); Response.Write(對編碼后的字符串進(jìn)行解碼:); strHtmlContent = Server.HtmlDecode(strHtmlContent); Response.Write(strHtmlContent);,獲取文件路徑,Server對象的MapPath方法將虛擬路徑或相對于當(dāng)前頁的相對路徑轉(zhuǎn)化為Web 服務(wù)器上的物理文件路徑。 語法:Server.MapPath(“虛擬路徑”)實(shí)例: string FilePath = Server.MapPath(“index.aspx”) Response.Write(FilePath
50、); Sever.MapPath(“./”)表示所在頁面目錄 Sever.MapPath(“/”)表示當(dāng)前應(yīng)用級程序的目錄,Transfer方法和Execute方法,Transfer的執(zhí)行方式:第一個(gè)頁面跳轉(zhuǎn)到第二個(gè)頁面時(shí),頁面處理的控制權(quán)也進(jìn)行移交,但瀏覽器的Url仍保存第一個(gè)頁面的URL信息。這種重定向請求在服務(wù)器端執(zhí)行,客戶端并不知道服務(wù)器執(zhí)行頁面跳轉(zhuǎn)操作。 Execute的執(zhí)行方式:允許當(dāng)前頁面執(zhí)行同一web服務(wù)器的另一頁面,當(dāng)另一頁面執(zhí)行完畢后,控制流程重新返回到原頁面。 比較下列代碼: Server.Transfer(hello.aspx); Server.Execute(hell
51、o.aspx); Response.Redirect(hello.aspx);,Application對象,什么叫WEB應(yīng)用程序? ASP.NET應(yīng)用程序是單個(gè) Web 服務(wù)器上的某個(gè)虛擬目錄及其子目錄范圍內(nèi)的所有文件、頁、處理程序、模塊和代碼的總和。 一個(gè)ASP.NET 應(yīng)用程序包含了駐留在Web站點(diǎn)特定目錄下的所有文件、子目錄、頁面、處理程序、模塊和代碼的總和; 它們都駐留在Web服務(wù)器上的特定虛擬目錄及其子目錄中; 它們都可以由用戶通過虛擬目錄層次結(jié)構(gòu)來請求訪問;,Application對象,在ASP.NET中,使用Application對象代表ASP.NET Web應(yīng)用程序的運(yùn)行實(shí)例。
52、 一個(gè)Web站點(diǎn)可以包含不止一個(gè)ASP.NET應(yīng)用程序,而每個(gè)ASP.NET應(yīng)用程序的運(yùn)行實(shí)例都可以由一個(gè)Application對象來表達(dá)。 可以將任何對象作為全局變量存儲在Application對象中。,使用Application對象保存信息,使用Application對象保存信息: Application“鍵名” = 值; 或 Application.Add(“鍵名”,值); 獲取Application對象信息: 變量名 = Application“鍵名”; 變量名 = Application.Get(“鍵名”);,使用Application對象保存信息,更新Application對象的值
53、Application.Set(“鍵名”, 值); Application“鍵名” = 值 刪除一個(gè)鍵Application.Remove(“鍵名”, 值) 刪除所有鍵Application.RemoveAll()或 Application.Clear(),應(yīng)用程序狀態(tài)同步,存在多個(gè)用戶同時(shí)存取同一個(gè)Application對象的情況。這樣就有可能出現(xiàn)多個(gè)用戶修改同一個(gè)Application命名對象,造成數(shù)據(jù)不一致的問題。 Application對象提供兩種方法 Lock 和 Unlock,以解決對Application對象的訪問同步問題,一次只允許一個(gè)線程訪問應(yīng)用程序狀態(tài)變量。,應(yīng)用程序狀態(tài)同
54、步,關(guān)于鎖定與解鎖 鎖定:Application.Lock();訪問:Application“鍵名” = 值解鎖:Application.Unlock(); 注意:Lock方法和UnLock方法應(yīng)該成對使用。,使用Application事件,在ASP.NET應(yīng)用程序中可以包含一個(gè)特殊的可選文件Global.asax文件,也稱作 ASP.NET 應(yīng)用程序文件,它包含用于響應(yīng) ASP.NET或HTTP模塊引發(fā)的應(yīng)用程序級別事件的代碼。 Global.asax文件提供了7個(gè)事件,其中5個(gè)應(yīng)用于Application對象,使用Application事件,Application事件,Session對象,
55、什么叫會話? Session即會話,是指一個(gè)用戶在一段時(shí)間內(nèi)對某一個(gè)站點(diǎn)的一次訪問。 Session對象在.NET中對應(yīng)HttpSessionState類,表示“會話狀態(tài)”,可保存與當(dāng)前用戶會話相關(guān)的信息。,Session對象簡介,Session對象用于存儲從一個(gè)用戶開始訪問某個(gè)特定的aspx 的頁面起,到用戶離開為止,特定的用戶會話所需要的信息。用戶在應(yīng)用程序的頁面切換時(shí),Session對象的變量不會被清除。 對于Web程序而言,所有用戶訪問到的Application對象的內(nèi)容是完全一樣的;但是不同用戶會話訪問到的Session對象的內(nèi)容則各不相同。,Session對象簡介,Session
56、可以保存變量,該變量只能供一個(gè)用戶使用,也就是說,每一個(gè)網(wǎng)頁瀏覽者都有自己的Session對象變量,即Session對象具有唯一性。 Session對象有生命周期,默認(rèn)值為20分鐘,可以通過TimeOut屬性設(shè)置會話狀態(tài)的過期時(shí)間。 如果用戶在該時(shí)間內(nèi)不刷新頁面或請求站點(diǎn)內(nèi)的其他文件,則該Session 就會自動(dòng)過期,而Session對象存儲的數(shù)據(jù)信息也將永遠(yuǎn)丟失。,使用Session對象保存信息,將新的項(xiàng)添加到會話狀態(tài)中的語法格式為: Session 鍵名“ = 值; 或者Session.Add( 鍵名 , 值); 按名稱獲取會話狀態(tài)中的值的語法格式為: 變量 = Session 鍵名; 刪
57、除會話狀態(tài)集合中的項(xiàng)的語法格式為: Session.Remove(鍵名),使用Session對象保存信息,清除會話狀態(tài)中的所有值的語法格式為: Session.RemoveAll() 或者Session.Clear() 取消當(dāng)前會話的語法格式為:Session.Abandon() 設(shè)置會話狀態(tài)的超時(shí)期限,以分鐘為單位。語法格式為: Session.TimeOut = 數(shù)值,使用Session實(shí)現(xiàn)網(wǎng)站的頁面級身份驗(yàn)證,protected void Page_Load(object sender, EventArgs e) if (SessionUser = null) Response.Redi
58、rect(Login.aspx); else Response.Write(歡迎你, Response.CookiesUserName.Expires =DateTime.Now.AddDays(30); 通過Request對象的Cookies集合來訪問Cookie Request.Cookies“UserName”.value,其他添加Cookie的方法,HttpCookie cook= new HttpCookie(“UserName”,“abc”); Response.Cookies.Add(cook); 或 HttpCookie cook= new HttpCookie(“UserName”); cook.Value=“abc”; Resp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年心理診斷技術(shù)考試題庫及一套答案
- 2026廣東佛山南海區(qū)西樵鎮(zhèn)樵北中學(xué)招聘一名筆試備考試題及答案解析
- 2026年心理品格考試題庫及完整答案一套
- 2026四川內(nèi)江市隆昌市發(fā)展和改革局招聘2人筆試備考題庫及答案解析
- 2026年新疆輕工職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2026年濰坊保密知識網(wǎng)上測試題及完整答案1套
- 2026年成都工貿(mào)職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試模擬測試卷附答案
- 2026年廣東省汕尾市單招職業(yè)傾向性測試模擬測試卷附答案
- 2025內(nèi)蒙古呼和浩特春華水務(wù)開發(fā)集團(tuán)有限責(zé)任公司招聘遞補(bǔ)進(jìn)入體檢考察范圍人員筆試備考題庫及答案解析
- 2026云南云廣文化傳媒有限公司財(cái)務(wù)人員招聘1人筆試模擬試題及答案解析
- 四川省遂寧市射洪縣九年級2024-2025學(xué)年(上)期末化學(xué)試卷(含答案)
- 2025-2030中國器官芯片行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 醫(yī)院醫(yī)療保險(xiǎn)費(fèi)用審核制度
- 村衛(wèi)生室醫(yī)療質(zhì)量相關(guān)管理制度
- 非遺傳承人激勵(lì)機(jī)制探索-深度研究
- 中小學(xué)校園中匹克球推廣策略與實(shí)踐研究
- 2024年世界職業(yè)院校技能大賽高職組“體育活動(dòng)設(shè)計(jì)與實(shí)施組”賽項(xiàng)考試題庫(含答案)
- 高中地理選擇性必修一(湘教版)期末檢測卷02(原卷版)
- 滬教版九年級化學(xué)上冊(上海版)全套講義
- 三角函數(shù)圖像變化課件
- 《內(nèi)存條知識培訓(xùn)》課件
評論
0/150
提交評論