JavaWeb程序設(shè)計(jì) 課件 ch03 JavaScript 基礎(chǔ)、ch04 JSP 基本語(yǔ)法_第1頁(yè)
JavaWeb程序設(shè)計(jì) 課件 ch03 JavaScript 基礎(chǔ)、ch04 JSP 基本語(yǔ)法_第2頁(yè)
JavaWeb程序設(shè)計(jì) 課件 ch03 JavaScript 基礎(chǔ)、ch04 JSP 基本語(yǔ)法_第3頁(yè)
JavaWeb程序設(shè)計(jì) 課件 ch03 JavaScript 基礎(chǔ)、ch04 JSP 基本語(yǔ)法_第4頁(yè)
JavaWeb程序設(shè)計(jì) 課件 ch03 JavaScript 基礎(chǔ)、ch04 JSP 基本語(yǔ)法_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章JavaScript基礎(chǔ)本課教學(xué)內(nèi)容JavaScript簡(jiǎn)介JavaScript內(nèi)置對(duì)象JavaScript簡(jiǎn)介JavaScript是一種網(wǎng)頁(yè)腳本語(yǔ)言,雖然名字中含有Java,但它與Java語(yǔ)言是完全兩種不同的語(yǔ)言。不過(guò),JavaScript的語(yǔ)法與Java語(yǔ)言的語(yǔ)法非常類似

JavaScript簡(jiǎn)介JavaScript代碼可以很容易地嵌入到HTML頁(yè)面中。瀏覽器對(duì)JavaScript腳本程序進(jìn)行解釋執(zhí)行。第一個(gè)JavaScript程序JavaScript與Java一樣,對(duì)大小寫是敏感的在JavaScript中,注釋有三種寫法:一種是HTML注釋的寫法:<!—注釋內(nèi)容-->,還有兩種和Java語(yǔ)言相同,分別為:"http://單行注釋"和"/*多行注釋*/"第一個(gè)JavaScript程序除了可以將JavaScript代碼嵌入HTML中之外,還可以專門將JavaScript代碼寫在單獨(dú)的文件中:

window.alert("第一個(gè)JavaScript程序"); 然后在另外的HTML頁(yè)面中插入:

<scriptsrc="code.js"type="text/javascript"></script>

來(lái)導(dǎo)入該文件JavaScript語(yǔ)法變量定義JavaScript中的變量為弱變量類型,即變量的類型根據(jù)它被賦值的類型改變,定義一個(gè)變量使用的格式為:"var變量名",比如定義變量arg,就可以使用"vararg";如果將一個(gè)字符串賦給它,它就是String類型,如果將一個(gè)數(shù)組賦給它,它的類型也就是數(shù)組類型需要注意的是,JavaScript中變量未聲明就使用是不會(huì)報(bào)錯(cuò)的,但很容易出現(xiàn)不可預(yù)知的錯(cuò)誤,所以建議所有變量先聲明后使用。JavaScript語(yǔ)法變量定義JavaScript語(yǔ)法函數(shù)定義JavaScript中定義一個(gè)函數(shù)的基本格式是: function函數(shù)名(參數(shù)列表){ return值; } 也可以在使用中直接匿名定義: vararg1=function(參數(shù)列表){ return值; }JavaScript內(nèi)置對(duì)象除了在代碼里面進(jìn)行簡(jiǎn)單的編程之外,我們還可以通過(guò)JavaScript提供的內(nèi)置對(duì)象來(lái)對(duì)網(wǎng)頁(yè)進(jìn)行操作,內(nèi)置對(duì)象由瀏覽器提供,可以直接使用,不用事先定義。比如,在上例中的window.alert("第一個(gè)JavaScript程序"),其中window就是一個(gè)內(nèi)置對(duì)象JavaScript內(nèi)置對(duì)象使用最多的內(nèi)置對(duì)象有四個(gè),并且之后的學(xué)習(xí)也將主要圍繞著四個(gè)對(duì)象展開: window:負(fù)責(zé)操作瀏覽器窗口,負(fù)責(zé)窗口狀態(tài),開閉等 document:負(fù)責(zé)操作瀏覽器載入的文檔(HTML文件)。它從屬于window history:可以代替后退(前進(jìn))按鈕訪問歷史記錄,從屬于windowlocation:訪問地址欄,也是從屬于windowwindow對(duì)象window對(duì)象的作用有如下幾個(gè):出現(xiàn)提示框window對(duì)象可以跳出提示框。主要有如下功能:window.alert("內(nèi)容"):出現(xiàn)消息框window.confirm("內(nèi)容"):出現(xiàn)確認(rèn)框mpt("內(nèi)容"):出現(xiàn)輸入框window對(duì)象window對(duì)象的作用有如下幾個(gè):打開、關(guān)閉窗口 window.open()在網(wǎng)頁(yè)制作中使用非常廣泛,參數(shù)有3個(gè),第1個(gè)是新窗口的地址,第2個(gè)是新窗口名稱,第3個(gè)是新窗口狀態(tài),其中新窗口狀態(tài)的屬性可設(shè)置的有: toolbar:是否有工具欄,可選1和0 location:是否有地址欄,可選1和0 status:是否有狀態(tài)欄,可選1和0

window對(duì)象window對(duì)象的作用有如下幾個(gè):打開、關(guān)閉窗口 menubar:是否有菜單條,可選1和0 scrollbars::是否有滾動(dòng)條,可選1和0 resizable::是否有可改變大小,可選1和0 width,height:窗口的寬度和高度,用像素表示 left,top:窗口左上角相對(duì)于桌面左上角的x和y坐標(biāo)。 各屬性值用逗號(hào)隔開。如:

newWindow=window.open("window1.html","new1", "toolbar=0,width=300,height=300,top=500,left=500");

window對(duì)象window對(duì)象的作用有如下幾個(gè):定時(shí)器window對(duì)象負(fù)責(zé)管理和控制頁(yè)面的定時(shí)器,定時(shí)器的作用是讓某個(gè)函數(shù)隔一段時(shí)間之后運(yùn)行一次,格式為:

timer=window.setTimeout("需要運(yùn)行的函數(shù)","時(shí)間(用毫秒計(jì))");如果要清除定時(shí)器,則可以:

clearTimeout(timer);history對(duì)象history對(duì)象包含用戶的瀏覽歷史等信息,用到這個(gè)對(duì)象的原因,是因?yàn)樗梢源婧笸?前進(jìn))按鈕訪問歷史記錄,該對(duì)象從屬于window。history對(duì)象history最常用的函數(shù)為:history.back():返回上一頁(yè),相當(dāng)于點(diǎn)了瀏覽器上的后退按鈕history.forward():返回下一頁(yè),相當(dāng)于點(diǎn)了瀏覽器上的前進(jìn)按鈕window.history.go(n):n為整數(shù),正數(shù)表示向前進(jìn)n格頁(yè)面,負(fù)數(shù)表示向后退n格頁(yè)面document對(duì)象document對(duì)象從屬于window,其功能如下:在網(wǎng)頁(yè)上輸出writeln()函數(shù)為輸出一些簡(jiǎn)單卻重復(fù)的代碼提供很大的便利,在下面一個(gè)例子中,將要使用表格顯示出一個(gè)8*8的國(guó)際象棋棋盤,正常的方法需要寫一個(gè)8行8列的表格代碼,那樣會(huì)使源代碼非常的冗長(zhǎng),借助writeln()和循環(huán)方法,省去了很多HTML代碼的編寫。document對(duì)象document對(duì)象document對(duì)象從屬于window,其功能如下:設(shè)置網(wǎng)頁(yè)的屬性document可以進(jìn)行一些簡(jiǎn)單網(wǎng)頁(yè)屬性的設(shè)置,如網(wǎng)頁(yè)標(biāo)題、顏色等,并且可以得到網(wǎng)頁(yè)的某些屬性,如當(dāng)前地址。比較常用的有:通過(guò)document.title來(lái)訪問標(biāo)題,通過(guò)document.location來(lái)獲取網(wǎng)頁(yè)當(dāng)前的地址document對(duì)象document對(duì)象從屬于window,其功能如下:訪問文檔元素,特別是表單元素document可以訪問文檔中的元素(如圖片、表單、表單中的控件等),前提是元素的name屬性是確定的。訪問方法為:document.元素名.子元素名。比如,名為form1的表單中有一個(gè)文本框account,其中的內(nèi)容可以用如下代碼獲得:

varaccount=document.form1.account.value;

location對(duì)象location對(duì)象可以訪問瀏覽器地址欄,也是從屬于window,最常見功能就是跳轉(zhuǎn)到另一個(gè)網(wǎng)頁(yè)。跳轉(zhuǎn)的方法就是修改location的href屬性。如:window.location.href=”page.html”location對(duì)象location對(duì)象另一個(gè)比較常見的應(yīng)用是定時(shí)跳轉(zhuǎn)。需要結(jié)合window的定時(shí)器使用。具體代碼見課本示例。本章結(jié)束本章總結(jié)JavaScript簡(jiǎn)介JavaScript內(nèi)置對(duì)象上機(jī)習(xí)題第4章JSP基本語(yǔ)法本課教學(xué)內(nèi)容第一個(gè)JSP頁(yè)面注釋jsp表達(dá)式、程序段和聲明URL傳值jsp指令和動(dòng)作第一個(gè)JSP頁(yè)面JSP屬于動(dòng)態(tài)網(wǎng)頁(yè),動(dòng)態(tài)網(wǎng)頁(yè)隨時(shí)都可以遇到。當(dāng)在google上輸入關(guān)鍵詞,如"Java"時(shí),提交搜索,google能夠?qū)⑺信cJava有關(guān)的搜索結(jié)果呈現(xiàn)在頁(yè)面上。此時(shí),google在服務(wù)器端進(jìn)行了一次搜索工作,這次搜索工作顯然不可能是人工完成的,人工不可能在幾秒的時(shí)間之內(nèi),搜索到成千上萬(wàn)的結(jié)果。因此,搜索過(guò)程是程序完成的,程序進(jìn)行了查詢數(shù)據(jù)庫(kù)的操作。HTML不能夠查詢數(shù)據(jù)庫(kù),Java代碼卻訪問數(shù)據(jù)庫(kù)。因此,在HTML代碼中間混合Java代碼,就能夠讓網(wǎng)頁(yè)擁有動(dòng)態(tài)的功能。而嵌入了Java代碼的網(wǎng)頁(yè),就是JSP。JSP與HTML區(qū)別JSP和HTML有什么區(qū)別?

HTML頁(yè)面是靜態(tài)頁(yè)面,也就是事先由用戶寫好放在服務(wù)器上,由Web服務(wù)器向客戶端發(fā)送。JSP頁(yè)面是由JSP容器執(zhí)行該頁(yè)面的Java代碼部分,然后,實(shí)時(shí)生成的HTML頁(yè)面,因而說(shuō)其是服務(wù)器端動(dòng)態(tài)頁(yè)面。JSP與JavaScript區(qū)別頁(yè)面效果,用JavaScript也能夠?qū)崿F(xiàn),有何區(qū)別?最大的區(qū)別是:JavaScript源代碼是被服務(wù)器發(fā)送到客戶端,由客戶端執(zhí)行,因此,客戶端可以看到JavaScript源代碼;而Java代碼卻不會(huì)。注釋JSP注釋可以分為兩類:一類是能發(fā)送給客戶端,可以在源代碼文件中顯示出其內(nèi)容。主要是以HTML注釋語(yǔ)法出現(xiàn)。格式為:<!--注釋內(nèi)容-->注釋另一類是不能發(fā)送給客戶端的,也就是說(shuō)不會(huì)在客戶端的源代碼文件中顯示其內(nèi)容,僅提供給程序員閱讀的,分為兩種:

JSP注釋語(yǔ)法:<%--注釋內(nèi)容--%>Java代碼注釋://注釋內(nèi)容 /*注釋內(nèi)容*/表達(dá)式JSP表達(dá)式的作用是定義JSP的一些輸出。表達(dá)式基本語(yǔ)法如下所示: <%=變量/返回值/表達(dá)式%>JSP表達(dá)式的作用是將其里面內(nèi)容所運(yùn)算的結(jié)果輸出到客戶端表達(dá)式例:“<%=msg%>”是JSP表達(dá)式,即將msg內(nèi)容輸出給客戶端。等價(jià)于“<%out.print(msg);%>”。表達(dá)式使用JSP表達(dá)式,需要注意幾個(gè)細(xì)節(jié):JSP表達(dá)式中不能用";"結(jié)束在JSP表達(dá)式中不能出現(xiàn)多條語(yǔ)句JSP表達(dá)式的內(nèi)容一定是字符串類型,或者能通過(guò)toString()函數(shù)轉(zhuǎn)換成字符串的形式

*詳細(xì)代碼示例見課本程序段如果需要在JSP程序中既要輸出數(shù)據(jù),也要實(shí)現(xiàn)定義變量等一系列復(fù)雜的邏輯操作,表達(dá)式是不能滿足要求的,這時(shí)候需要JSP程序段。實(shí)際上,JSP程序段就是插入到JSP程序的Java代碼段。程序段JSP程序段的用法如下:

<%Java代碼%>不能在JSP程序段中定義方法。JSP中可以放入HTML,也可以放入JSP程序段和JSP表達(dá)式,可以靈活地混合使用。JSP聲明JSP中提供了聲明,JSP聲明中可以定義網(wǎng)頁(yè)中的全局變量,這些變量在JSP頁(yè)面中的任何地方都能夠使用。在實(shí)際的應(yīng)用中,方法、頁(yè)面全局變量、甚至類的聲明都可以放在JSP聲明部分。JSP聲明使用方法如下:

<%!代碼%>可以看到其與JSP程序段的用法相似(只是多了一個(gè)感嘆號(hào)),但功能卻有所不同。在JSP程序段中定義的變量只能先聲明后使用。而JSP聲明中定義的變量是網(wǎng)頁(yè)級(jí)別的,系統(tǒng)會(huì)優(yōu)先執(zhí)行,也就是說(shuō)使用JSP聲明可以在JSP的任何地方定義變量。JSP聲明使用JSP聲明時(shí),要注意:在JSP聲明中,只能定義,不能實(shí)現(xiàn)控制邏輯。如:不能在其中使用out.println作輸出操作。URL傳值HTTP是無(wú)狀態(tài)的協(xié)議。Web頁(yè)面本身無(wú)法向下一個(gè)頁(yè)面?zhèn)鬟f信息,如果需要讓下一個(gè)頁(yè)面得知該頁(yè)面中的值,除非通過(guò)服務(wù)器。Web頁(yè)面之間傳遞數(shù)據(jù),是Web程序的重要功能,其流程如圖:URL傳值客戶端頁(yè)面1輸入guokehua客戶端頁(yè)面2顯示guokehuaP2發(fā)送guokehua響應(yīng)服務(wù)器URL傳值URL,通俗地說(shuō),就是網(wǎng)址。如:http://localhost:8080/Prj04/page.jsp,表示訪問項(xiàng)目Prj04中的page.jsp,但是還可以在該頁(yè)面后面給出一些參數(shù),格式是,在原url后面添加:

?參數(shù)名1=參數(shù)值1&參數(shù)名2=參數(shù)值2&……如:http://localhost:8080/Prj04/page.jsp?m=3&n=5表示訪問http://localhost:8080/Prj04/page.jsp,并給其傳送參數(shù)m,值為3,參數(shù)n,值為5。URL傳值在http://localhost:8080/Prj04/page.jsp中獲得m和n的方法是:<%//獲得參數(shù)m,賦值給strStringstr=request.getParameter("m");%>URL傳值URL傳值的局限性:傳輸?shù)臄?shù)據(jù)只能是字符串,對(duì)數(shù)據(jù)類型具有一定限制傳輸數(shù)據(jù)的值會(huì)在瀏覽器地址欄里面被看到, 秘密性要求很嚴(yán)格的數(shù)據(jù)(如密碼),不應(yīng)該用URL方法來(lái)傳值URL傳值URL傳值的優(yōu)勢(shì): 簡(jiǎn)單性和平臺(tái)支持的多樣性(沒有瀏覽器不支持URL),很多程序還是用URL傳值比較方便JSP指令和動(dòng)作JSP指令告訴JSP引擎對(duì)JSP頁(yè)面如何編譯,不包含控制邏輯,不會(huì)產(chǎn)生任何可見的輸出。其用法如下:

<%@指令類別屬性1="屬性值1"屬性n="屬性值n"%>*注意,屬性名大小寫是敏感的JSP指令和動(dòng)作JSP包含三個(gè)指令:page、include和taglib。其中,使用最多的是page指令和include指令JSP指令page指令的作用有:導(dǎo)入包:<%@pageimport="包名.類名"%>設(shè)定字符集:

<%@pagepageEncoding="編碼類名"%>JSP指令page指令的作用有:設(shè)定錯(cuò)誤頁(yè)面:

在發(fā)生異常的頁(yè)面上寫:<%@pageerrorPage="anErrorPage.jsp"%>

在anErrorPage.jsp頁(yè)面上寫:<%@pageisErrorPage="true"%>JSP指令page指令的作用有:設(shè)定MIME類型和字符編碼:<%@pagecontentType="MIME類型;charset=字符編碼"%>JSP指令在實(shí)際的應(yīng)用開發(fā)中經(jīng)常會(huì)遇到這樣的情況:在項(xiàng)目的每一個(gè)頁(yè)面底下都需要顯示公司的地址和圖標(biāo)信息。顯然,不可能在每一個(gè)網(wǎng)頁(yè)都編寫一次顯示該信息的代碼。為了保證代碼重用,可以使用include指令解決該需求。JSP指令include指令可以在JSP程序中插入多個(gè)外部文件,這些文件可以是JSP、HTML或者Java程序,甚至是文本。編譯時(shí),include指令就會(huì)把相應(yīng)的文件包含進(jìn)主文件。其語(yǔ)法格式如下:<%@includefile="文件名"%>JSP動(dòng)作JSP動(dòng)作指使用XML語(yǔ)法格式的標(biāo)記來(lái)控制服務(wù)器的行為。其用法如下:<jsp:動(dòng)作名屬性1="屬性值1"屬性n="屬性值n"/><jsp:動(dòng)作名>相關(guān)內(nèi)容</jsp:動(dòng)作名>

JSP動(dòng)作JSP動(dòng)作包括:1.jsp:include:當(dāng)頁(yè)面被請(qǐng)求的時(shí)候引入一個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論