版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、語(yǔ)法基礎(chǔ)(指令元素)P,延遲符,JSP程序設(shè)計(jì),目,錄,01 引入,02 指令元素概述,03 page指令,延遲符,01 JSP動(dòng)態(tài)網(wǎng)頁(yè)的引入,延遲符,輸入標(biāo)題,輸入文字輸入文字輸文字輸入文字輸入文字輸入文字輸入文字輸入文字輸入文字輸入文字,延遲符,,,輸入U(xiǎn)RL,網(wǎng)頁(yè)文件內(nèi)容,訪問(wèn)網(wǎng)頁(yè)直觀感受,服務(wù)器端存儲(chǔ)狀態(tài),,,,網(wǎng)頁(yè)的分類,網(wǎng)頁(yè),是否包含程序?,是否存在交互?,是否訪問(wèn)數(shù)據(jù)庫(kù)?,,,,靜態(tài)網(wǎng)頁(yè)定義:沒(méi)有后臺(tái)數(shù)
2、據(jù)庫(kù),不含程序,不可交互的網(wǎng)頁(yè)。html,xml等標(biāo)記編寫的網(wǎng)頁(yè),動(dòng)態(tài)網(wǎng)頁(yè)定義:有后臺(tái)數(shù)據(jù)庫(kù),含程序,可交互的網(wǎng)頁(yè)。servlet,jsp語(yǔ)言等編寫的網(wǎng)頁(yè),延遲符,Servlet 簡(jiǎn)述,Servlet功能:主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。,Servlet(Server Applet):是用Java編寫的服務(wù)器端程序。,Applet:是用Java編寫的,嵌入瀏覽器運(yùn)行的
3、 一種小應(yīng)用程序。,狹義:的Servlet是指Java語(yǔ)言實(shí)現(xiàn)的一個(gè)接口,廣義:的Servlet是指任何實(shí)現(xiàn)了這個(gè)Servlet接口的類,一般情況下,人們將Servlet理解為后者。,結(jié)論,可以使用Servlet來(lái)編寫動(dòng)態(tài)網(wǎng)頁(yè),輸入標(biāo)題,延遲符, 登錄界面 用戶名: 密 碼:
4、 ,Html編寫的靜態(tài)網(wǎng)頁(yè),輸入標(biāo)題,延遲符,servlet編寫的動(dòng)態(tài)網(wǎng)頁(yè),延遲符,而在很多動(dòng)態(tài)網(wǎng)頁(yè)中,絕大部分內(nèi)容都是固定不變的,只有局部?jī)?nèi)容需要?jiǎng)討B(tài)產(chǎn)生和改變。 如果使用Servlet程序來(lái)輸出只有局部?jī)?nèi)容需要?jiǎng)討B(tài)改變的網(wǎng)頁(yè),其中所有的靜態(tài)內(nèi)容也需要程序員用Java程序代碼實(shí)現(xiàn),整個(gè)Servlet程序的代碼將非常臃腫,編寫和維護(hù)都將非常困難。,JSP的出現(xiàn),為了彌補(bǔ) Servl
5、et 的缺陷,SUN公司在Servlet的基礎(chǔ)上推出了JSP技術(shù)作為解決方案。,JSP是簡(jiǎn)化Servlet編寫的一種技術(shù),它將Java代碼和HTML語(yǔ)句混合在同一個(gè)文件中編寫,只對(duì)網(wǎng)頁(yè)中的要?jiǎng)討B(tài)產(chǎn)生的內(nèi)容采用Java代碼來(lái)編寫,而對(duì)固定不變的靜態(tài)內(nèi)容采用普通靜態(tài)HTML頁(yè)面的方式編寫。,02指令元素概述,延遲符,,,,,指令元素,用于JSP容器在JSP程序轉(zhuǎn)換成 java文件 過(guò)程中提供整個(gè) JSP頁(yè)面的相關(guān)信息
6、。 指令元素不會(huì)產(chǎn)生任何輸出到當(dāng)前的輸出流中,功能,語(yǔ)法格式,3種指令元素,,page,include和taglib,指令元素,延遲符,延遲符,語(yǔ)法格式,注意事項(xiàng)1.符號(hào)之間不可以加空格或其他符號(hào)2 同一條指令(如page)的多個(gè)屬性設(shè)置方式: 1)使用多條指令語(yǔ)句單獨(dú)設(shè)置每個(gè)屬性, 2)使用同一條指令語(yǔ)句設(shè)置該指令的多個(gè)屬性。,JSP語(yǔ)法基礎(chǔ)——指令語(yǔ)法格式,03 page指令,延遲符,延遲符
7、,page指令用于定義JSP頁(yè)面的各種屬性。如指定腳本使用的編程語(yǔ)言language屬性使用什么語(yǔ)言進(jìn)行編寫,再如指定頁(yè)面文件自身以什么樣的編碼方式保存在本地,等等,Page指令的13個(gè)屬性,無(wú)論page指令出現(xiàn)在JSP頁(yè)面中的什么地方,它作用的都是整個(gè)JSP頁(yè)面,為了保持程序的可讀性和遵循良好的編程習(xí)慣,page指令最好是放在整個(gè)JSP頁(yè)面的起始位置。,page指令的13個(gè)屬性,,[ info="text" ]
8、[ errorPage="relative_url" ] [ isErrorPage="true | false" ] [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ] [ pageEncoding="char
9、acterSet | ISO-8859-1" ] [ isELIgnored="true | false" ],延遲符,1.language屬性:設(shè)置當(dāng)前頁(yè)面中編寫JSP腳本使用的語(yǔ)言,默認(rèn) 值為java。例如:,Page指令的13個(gè)屬性,2.contentType屬性:設(shè)置服務(wù)器將執(zhí)行結(jié)果發(fā)送到客戶端文檔的MIME(Multipurpose Internet Mail Extention)類型和
10、字符編碼。,目前只可以使用Java語(yǔ)言,不過(guò)不排除增加其它語(yǔ)言。,延遲符,Page指令的13個(gè)屬性,3.import屬性:用來(lái)導(dǎo)入程序中要用到的包或類,可以有多個(gè)值。無(wú)論是Java核心包中自帶的類還是用戶自行編寫的類,都要在import中引入,才能使用。(ebuy商城中后臺(tái)登錄頁(yè)面),在page指令中可多次使用該屬性來(lái)導(dǎo)入多個(gè)類。例如:或者通過(guò)逗號(hào)間隔來(lái)導(dǎo)入多個(gè)類:,import屬性的用法如下:如果想要導(dǎo)入包里的全部類,可
11、以這樣使用:,延遲符,5.extends屬性:指定將一個(gè)JSP頁(yè)面轉(zhuǎn)換為Servlet后繼承的類。在JSP中通常不會(huì)設(shè)置該屬性,JSP容器會(huì)提供繼承的父類。(到web服務(wù)器實(shí)例中去找到對(duì)應(yīng)的java文件,觀察自動(dòng)繼承了哪個(gè)類)并且如果設(shè)置了該屬性,一些改動(dòng)會(huì)影響JSP的編譯能力。,Page指令的13個(gè)屬性,4.info屬性:設(shè)置JSP頁(yè)面的相關(guān)信息,如當(dāng)前頁(yè)面的作者、編寫時(shí)間等。此值可設(shè)置為任意字符串,由Servlet.getServ
12、letInfo()方法來(lái)獲取所設(shè)置的值。(一般不配置),6.session屬性:表示當(dāng)前頁(yè)面是否支持session,如果為false,則在JSP頁(yè)面中不能使用session對(duì)象(舉例),屬性的默認(rèn)值為true。,延遲符,7.errorPage屬性:用于指定一個(gè)當(dāng)前jsp頁(yè)面出現(xiàn)錯(cuò)誤或異常時(shí)的處理頁(yè)面。屬性值應(yīng)包含該處理頁(yè)面名稱及所存放路徑。與此相適應(yīng),需要將這個(gè)錯(cuò)誤處理頁(yè)面的isErrorPage屬性設(shè)為true。,Page指令的13個(gè)
13、屬性,8.isErrorPage屬性:指定一個(gè)頁(yè)面是否為錯(cuò)誤處理頁(yè)面。設(shè)置為true時(shí),在這個(gè)JSP頁(yè)面中將可以使用exception使用,其值將被設(shè)定為錯(cuò)誤產(chǎn)生前JSP頁(yè)面的錯(cuò)誤對(duì)象,以處理該頁(yè)面所產(chǎn)生的錯(cuò)誤。,延遲符,9.buffer屬性:buffer屬性用來(lái)指定out對(duì)象緩沖區(qū)的大小。其值可以有none、8KB或是給定的KB值,值為none表示沒(méi)有緩存,直接輸出至客戶端的瀏覽器中;默認(rèn)為8KB(因不同的服務(wù)器而不同,但大多數(shù)情況
14、下都為8KB)。,Page指令的13個(gè)屬性,10.a(chǎn)utoFlush屬性:當(dāng)緩沖區(qū)滿時(shí),是否自動(dòng)刷新緩沖區(qū)。默認(rèn)值為true,表示當(dāng)緩沖區(qū)已滿時(shí),自動(dòng)將其中的內(nèi)容輸出到客戶端。如果設(shè)為false,則當(dāng)緩沖區(qū)滿時(shí)會(huì)出現(xiàn)“JSPBuffer overflow”溢出異常。注意:當(dāng)buffer屬性的值設(shè)為none時(shí),autoFlush屬性的值就不能設(shè)為false。,延遲符,11.isThreadSafe屬性:設(shè)置JSP頁(yè)面是否可以多線程訪
15、問(wèn)。默認(rèn)值為true,表示當(dāng)前JSP頁(yè)面被轉(zhuǎn)換為Servlet后,會(huì)以多線程的方式來(lái)處理來(lái)自多個(gè)用戶的請(qǐng)求;如果設(shè)為false,則轉(zhuǎn)換后的Servlet會(huì)實(shí)現(xiàn)SingleThreadMode接口,并且將以單線程的方式來(lái)處理用戶請(qǐng)求。,Page指令的13個(gè)屬性,12.pageEncoding屬性:設(shè)置JSP頁(yè)面字符的編碼,常見的編碼類型有SO-8I859-1、GB2312和GBK等。默認(rèn)值為ISO-8859-1。其用法如下:,比較co
16、ntentType和pageEnconding,延遲符,,Page指令的13個(gè)屬性,13.isELIgnored屬性:其值可設(shè)置為true或false,表示是否在此JSP網(wǎng)頁(yè)中執(zhí)行或忽略表達(dá)式語(yǔ)言“${}”。設(shè)為true時(shí),JSP容器將忽略表達(dá)式語(yǔ)言。Web.xml文件使用Servlet2.4之前默認(rèn)值是true,以后是false,延遲符,MIME(Multipurpose Internet Mail Extensions)多用途
17、互聯(lián)網(wǎng)郵件擴(kuò)展類型。 是設(shè)定某種擴(kuò)展名的文件用一種應(yīng)用程序來(lái)打開的方式類型, 當(dāng)該擴(kuò)展名文件被訪問(wèn)的時(shí)候,瀏覽器會(huì)自動(dòng)使用指定應(yīng)用程序來(lái)打開。,最早的HTTP協(xié)議中,并不需要設(shè)置MIME,所有傳送的數(shù)據(jù)都被客戶程序解釋為超文本標(biāo)記語(yǔ)言HTML 文檔,而為了支持多媒體數(shù)據(jù)類型,HTTP協(xié)議中就使用了MIME來(lái)標(biāo)識(shí)數(shù)據(jù)類型。,返回,MIME(多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型),延遲符,每個(gè)MIME類型由兩部分組成,前面是數(shù)據(jù)的大類別
18、,例如聲音audio、圖象image等,后面定義具體的種類。,MIME(多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型),返回,舉例:將一個(gè)JSP頁(yè)面的MIME設(shè)置成使用微軟word打開的文檔類型。,延遲符,返回,ANSI編碼 其實(shí)在很久很久以前,有一群人,他們決定用8個(gè)可以開合的晶體管來(lái)組合成不同的狀態(tài),以表示世界上的萬(wàn)物?! ¢_始計(jì)算機(jī)只在美國(guó)用。八位的字節(jié)一共可以組合出256(2的8次方)種不同的狀態(tài)。 而256種的狀態(tài)足可以表
19、示他們已知的所有標(biāo)點(diǎn)符號(hào)、數(shù)字、大小寫字母等符號(hào)。美國(guó)的編程人員將這種二進(jìn)制狀態(tài)與表達(dá)特定含義的映射關(guān)系一直編到了第127號(hào),這樣計(jì)算機(jī)就可以用不同字節(jié)來(lái)存儲(chǔ)所有英語(yǔ)的符號(hào)了。大家看到這種方式,都感覺很好,于是大家都把這個(gè)方案叫做 ANSI 的"ascii"編碼(American Standard Code for Information Interchange,美國(guó)信息互換標(biāo)準(zhǔn)代碼)。,各種編碼的來(lái)歷——ANSI編
20、碼,延遲符,返回,擴(kuò)展ANSI編碼 后來(lái),世界各地的都開始使用計(jì)算機(jī),但是很多國(guó)家用的不是英文,他們的字母里有許多是ASCII里沒(méi)有的,為了可以在計(jì)算機(jī)保存他們的文字,他們決定采用127號(hào)之后的空位來(lái)表示這些新的字母、符號(hào),等內(nèi)容,一直把序號(hào)編到了最后一個(gè)狀態(tài)255。從128到255這一頁(yè)的字符集被稱“擴(kuò)展字符集”。,各種編碼的來(lái)歷——擴(kuò)展ANSI編碼,延遲符,返回,GB2312編碼 當(dāng)中國(guó)得到計(jì)算機(jī)時(shí),已經(jīng)沒(méi)有可以利用的字
21、節(jié)狀態(tài)來(lái)表示漢字,況且有6000多個(gè)常用漢字需要保存呢。中國(guó)的編程從業(yè)人員就不客氣地把那些127號(hào)之后的奇異符號(hào)們直接取消掉。,各種編碼的來(lái)歷——GB2312編碼,規(guī)定:一個(gè)小于127的字符的意義與原來(lái)相同, 但兩個(gè)都大于127的字符連在一起時(shí),就表示一個(gè)漢字。 這樣我們就可以組合出大約7000多個(gè)簡(jiǎn)體漢字了。,,,延遲符,返回,GBK 編碼 但是中國(guó)的漢字太多了,我
22、們很快就就發(fā)現(xiàn)有許多人的人名沒(méi)有辦法在這里打出來(lái)。于是干脆不再要求第二個(gè)字節(jié)一定是127號(hào)之后的內(nèi)碼,只要求第一個(gè)字節(jié)是大于127就固定表示這是一個(gè)漢字的開始。擴(kuò)展之后的編碼方案被稱為 GBK 標(biāo)準(zhǔn),GBK 包括了 GB2312 的所有內(nèi)容,同時(shí)又增加了近20000個(gè)新的漢字(包括繁體字)和符號(hào)。。,各種編碼的來(lái)歷——GBK編碼,延遲符,返回,GB18030編碼 后來(lái)我國(guó)少數(shù)民族也要用電腦了,而我國(guó)的少數(shù)民族眾多,民族語(yǔ)言亦是很多
23、。于是我們?cè)贁U(kuò)展,又加了幾千個(gè)新的少數(shù)民族的字符,將GBK 擴(kuò)成了 GB18030。從此之后,中國(guó)的各民族的文化就可以在計(jì)算機(jī)時(shí)代中傳承了?! ≡谥形木幋a的標(biāo)準(zhǔn)里,最大的特點(diǎn)是兩字節(jié)長(zhǎng)的漢字字符和一字節(jié)長(zhǎng)的英文字符并存于同一套編碼方案里,因此他們寫的程序?yàn)榱酥С种形奶幚?,必須要注意字串里的每一個(gè)字節(jié)的值,如果這個(gè)值是大于127的,那么就認(rèn)為一個(gè)雙字節(jié)字符集里的字符出現(xiàn)了。,各種編碼的來(lái)歷——ANSI編碼,延遲符,返回,UNICODE編
24、碼 因?yàn)楫?dāng)時(shí)各個(gè)國(guó)家都像中國(guó)這樣寫出一套自己的編碼標(biāo)準(zhǔn),結(jié)果互相之間誰(shuí)也不懂誰(shuí)的編碼,誰(shuí)也不支持別人的編碼,連大陸和臺(tái)灣這樣只相隔了150海里,使用著同一種語(yǔ)言的兄弟地區(qū),也分別采用了不同的編碼方案 正在這時(shí),一個(gè)叫 ISO (國(guó)際標(biāo)誰(shuí)化組織)的國(guó)際組織出現(xiàn)了,它決定著手解決這個(gè)問(wèn)題。他們采用的方法很簡(jiǎn)單:廢了所有的地區(qū)性編碼方案,重新編寫一個(gè)包括了地球上所有文化、所有字母和符號(hào)的編碼!他們打算叫它 UCS, 俗稱 UNICOD
25、E 。,各種編碼的來(lái)歷——UNICODE編碼,延遲符,返回,UTF-8和UTF-16 UNICODE 來(lái)到時(shí),一起到來(lái)的還有計(jì)算機(jī)網(wǎng)絡(luò)的興起,UNICODE 如何在網(wǎng)絡(luò)上傳輸也是一個(gè)必須考慮的問(wèn)題,于是UTF(UCS Transfer Format)標(biāo)準(zhǔn)出現(xiàn)了,可以把它簡(jiǎn)單理解為UNICODE 編碼的網(wǎng)絡(luò)傳輸版,而UTF8就是每次8個(gè)位傳輸數(shù)據(jù),而UTF16就是每次16個(gè)位,只不過(guò)為了傳輸時(shí)的可靠性,從UNICODE到UTF時(shí)并
26、不是直接的對(duì)應(yīng),而是要過(guò)一些算法和規(guī)則來(lái)轉(zhuǎn)換。,各種編碼的來(lái)歷—— UTF-8編碼,輸入標(biāo)題,延遲符,,,客戶端,Web瀏覽器,Web服務(wù)器,中間件,數(shù)據(jù)庫(kù),,,,請(qǐng)求,響應(yīng),用戶,Web服務(wù)器功能:找到對(duì)應(yīng)JSP頁(yè)面文件并進(jìn)行加載和編譯,服務(wù)器端,返回,訪問(wèn)JSP動(dòng)態(tài)網(wǎng)頁(yè)的通信過(guò)程,輸入標(biāo)題,延遲符,,,客戶端,Web瀏覽器,JSP容器,,請(qǐng)求,響應(yīng),用戶,服務(wù)器端,Web服務(wù)器,Servlet容器,,包含,JSP文
27、件,Java文件(,java),class文件(,class),實(shí)例(符合Servlet規(guī)范的實(shí)例),轉(zhuǎn)換,編譯,執(zhí)行,說(shuō)明: 1容器:指的是滿足某種文件的運(yùn)行環(huán)境 2Servlet :使用java語(yǔ)言編寫好用于生成網(wǎng)頁(yè)的程序。 3jsp容器編譯生成的class文件是一個(gè)Servlet字節(jié)文件。,舉例:觀察生成的java文件,返回,Web服務(wù)器的具體執(zhí)行過(guò)程,jsp頁(yè)面的編碼方式有兩個(gè)地方
28、需要設(shè)置: 其中:pageEncoding 指的是jsp文件本身在本地保存時(shí)的編碼方式。contentType的charset是指服務(wù)器發(fā)送網(wǎng)頁(yè)內(nèi)容給客戶端時(shí)所使用的編碼。,比較contentType和pageEnconding,返回,從第一次訪問(wèn)一個(gè)jsp頁(yè)面開始,到這個(gè)頁(yè)面被發(fā)送到客戶端,這個(gè)Jsp頁(yè)面要經(jīng)過(guò)四次編碼轉(zhuǎn)換: 第一階段 是jsp轉(zhuǎn)換成.java,它會(huì)按pag
29、eEncoding的設(shè)定讀取jsp,轉(zhuǎn)換后的JAVA源碼(即.java)使用UTF-8編碼保存的。 第二階段 是使用JAVAC命令對(duì)JAVA源碼編譯,編譯生成的字節(jié)文件(即.class)使用UTF-8編碼保存。 第三階段 是Tomcat(或其的application container)載入和執(zhí)行階段二生成的字節(jié)碼,輸出結(jié)果。第四階段 web服務(wù)器端將結(jié)果以charset屬性指定的編碼方式傳送至客戶端(瀏覽器端
30、)。,Web服務(wù)器執(zhí)行過(guò)程中編碼的轉(zhuǎn)換,返回,謝謝觀賞,延遲符,PPT模板下載:www.1ppt.com/moban/ 行業(yè)PPT模板:www.1ppt.com/hangye/ 節(jié)日PPT模板:www.1ppt.com/jieri/ PPT素材下載:www.1ppt.com/sucai/PPT背景圖片:www.1ppt.com/beijing/ PPT圖表下載:www.1ppt.com/tubi
31、ao/ 優(yōu)秀PPT下載:www.1ppt.com/xiazai/ PPT教程: www.1ppt.com/powerpoint/ Word教程: www.1ppt.com/word/ Excel教程:www.1ppt.com/excel/ 資料下載:www.1ppt.com/ziliao/ PPT課件下載:www.1ppt.com/keji
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- at指令詳解
- at指令集詳解
- 快速指南 - my jsp 'indexjsp' starting page
- 指令詳解--邊界混成(boundary blend)
- 三菱plc指令詳解
- 匯編語(yǔ)言指令詳解大全
- 元素符號(hào)詳解
- 詞匯手冊(cè)page1--page80
- PAGE.txt
- 諾西指令詳解及休眠小區(qū)的處理
- sds-page和native-page的比較
- PAGE.txt
- PAGE.txt
- PAGE.txt
- page_list.txt
- 數(shù)控加工中心常用g-m代碼指令詳解
- 我的世界計(jì)分板教程 計(jì)分板指令詳解
- page_list.txt
- page_edit.txt
- page_edit.txt
評(píng)論
0/150
提交評(píng)論