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