《JSP教程JSP語法》PPT課件.ppt_第1頁
《JSP教程JSP語法》PPT課件.ppt_第2頁
《JSP教程JSP語法》PPT課件.ppt_第3頁
《JSP教程JSP語法》PPT課件.ppt_第4頁
《JSP教程JSP語法》PPT課件.ppt_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第4章JSP基本語法 一 JSP基本元素 一個完整的JSP程序一般包含JSP代碼和HTML代碼兩部分 JSP代碼嵌入在HTML代碼中間 JSP代碼一般指Java程序片和JSP標(biāo)簽 一個JSP頁面可由以下四種元素構(gòu)成 模板元素腳本元素指令元素動作元素 二 模板元素 模板元素主要指普通HTML標(biāo)簽 HTML注釋等基本標(biāo)簽 字符格式化 常用表單元素單行文件本框 text 密碼框 password 單選按鈕 radio 復(fù)選按鈕 checkbox 重置按鈕 reset 提交按鈕 submit 文本域 表格 詳見 HTML主要標(biāo)簽及含義 三 腳本元素 JSP腳本元素是用來嵌入Java代碼的主要包括聲明 表達式 Scriptlet三種 聲明 聲明是指在JSP程序中定義變量和方法 聲明后的變量和方法可以在JSP頁面的任意地方使用 聲明放在 標(biāo)記符號間 使用格式如下 如 說明 之間定義的變量和方法是全局 靜態(tài) 的 多個用戶請求同一個JSP頁面時 各用戶共享成員變量 的值 表達式 表達式是獲取變量的值或方法的返回值 并把結(jié)果在JPS頁面上輸 表達式在頁面的位置即是結(jié)果輸出位置 在 之間插入表達式 使用格式如下 如 獲得變量i的值 獲得方法的返回值說明 在之間不可插入語句 表達式后沒有 表達式必須能求值 其值由服務(wù)器負責(zé)計算 將計算結(jié)果以字符串的形式返回并插入到JSP頁面的相應(yīng)位置 表達式示例 Sin 0 9 除以3等于3的平方是 12345679乘72等于5的平方根等于99大于100嗎 回答 100 程序段 Scriptlet Scriptlet即是Java程序片段 它可以包含任意的Java代碼 實現(xiàn)復(fù)雜的操作和控制 在 之間插入Java程序片段 使用格式如下 如 說明 1 一個JSP頁面可以有許多Java程序片 JSP引擎順序執(zhí)行這些程序片 可以把一個程序片拆分成幾個更小的程序片 然后在這些小的程序片之間插入JSP頁面的一些其他標(biāo)記元素 2 之間定義的變量和方法是局部 動態(tài) 的 多個用戶請求同一個JSP頁面時 各用戶間沒聯(lián)系 分別擁有各自的局部變量 程序段Scriptlet示例 你好 你好你好 聲明中定義的變量是全局變量 運行程序 i的值不斷增加您是第個訪問本站的客戶 程序片中定義的變量是局部變量 每次運行 i總是1您是第個訪問本站的客戶 全局變量與局部變量的對比 計數(shù)器程序 課堂練習(xí) 求1 10的平方及平方根 求平方根的方法 Math里的sqrt 方法 并在瀏覽器中以表格的形式輸出 簡單表格示例 這是一行一列這是一行二列這是二行一列這是二行二列 四 指令元素 JSP指令的主要作用是和JSP引擎之間進行溝通 JSP指令發(fā)送消息到服務(wù)器端 并不向客戶端產(chǎn)生任何輸出 所有的指令都在JSP整個文件范圍內(nèi)有效 在 之間插入JSP指令 使用格式為 說明 屬性值總是用雙引號或單引號括起來 屬性之間用空格分隔 不需要任何標(biāo)點 JSP中主要有以下3種指令標(biāo)簽 page指令 include指令 taglib指令 Page指令 在JSP頁面中 可以通過頁面指令page來定義整個JSP頁面的屬性 通過這個指令定義的屬性會對該JSP文件以及靜態(tài)包含進來的頁面起作用 使用格式為 page指令可以設(shè)置的屬性有 import contentType isThreadSafe session buffer autoflush extends info errorpage isErrorpage language pageEncoding 各屬性含義見書p87 page指令 說明 page指令可放在JSP的文件的任何地方 但為了增加程序的可讀性 習(xí)慣上放置在頁面的前面 page指令作用于整個JSP頁面 包括靜態(tài)的包含文件 但是指令不能作用于動態(tài)的包含文件可以在一個頁面中用上多個page指令 但其中的屬性只能用一次 有個例外是import屬性 可以出現(xiàn)多次 用于導(dǎo)入多個Java類 page指令屬性值 import屬性import屬性導(dǎo)入JSP頁面中使用的Java類 一個import屬性可以導(dǎo)入多個Java類 中間用逗號隔開 例如 上述代碼也可以寫成 下面的包在JSP編譯時已經(jīng)導(dǎo)入了 所以就不需要再指明了 java lang javax servlet javax servlet jsp javax servlet http page指令屬性值 contentType屬性contentType屬性指定返回瀏覽器的內(nèi)容類型屬性值可以是text plain 純文本文件 text html 純文本的HTML頁面 application x msexcel Excel文件 application x msword Word文件 contentType屬性還可以指定返回瀏覽器的內(nèi)容的字符編碼格式 可以是ISO8859 1 英文 默認 或GB2321 中文 例如 如果需要在返回瀏覽器的HTML頁面中使用中文字符 可以使用下列page指令 page指令屬性值 errorPage屬性errorPage屬性指定錯誤或異常處理頁面 當(dāng)頁面執(zhí)行出現(xiàn)異常或錯誤時 瀏覽器顯示該屬性指定的頁面 例如 isErrorPage屬性指定當(dāng)前頁面是否是異常處理頁面 值為true或false page指令屬性值 pageEncoding屬性指定JSP頁面的字符編碼 默認是ISO 8859 1 若要正常顯示漢字 通常指定為 GB2312或GBKpageEncoding和contentType的區(qū)別與聯(lián)系 pageEncoding是jsp文件本身的編碼 contentType的charset是指服務(wù)器發(fā)送給客戶端時的內(nèi)容編碼 它們的預(yù)設(shè)都是ISO8859 1 而隨便設(shè)定了其中一個 一般另一個就跟著一樣了 若都設(shè)置了 在設(shè)置JSP源文件字符集時 優(yōu)先級為pageEncoding contentType 設(shè)置響應(yīng)輸出的字符集時 優(yōu)先級為contentType pageEncoding 示例 info屬性 此頁面信息如下 s info屬性 一個字符串 常用于顯示JSP頁面的版本作者等信息 可使用getServletInfo 方法獲得 課堂練習(xí) 在程序片中設(shè)置數(shù)組越界異常 在頁面出現(xiàn)異?;蝈e誤時 跳轉(zhuǎn)到errorPage指定的錯誤頁面 errorPage頁面的輸出內(nèi)容為 數(shù)組下標(biāo)越界了 請檢查 并顯示當(dāng)前的日期 include指令 include指令允許在JSP頁面內(nèi)某處靜態(tài)嵌入一個文件 包含是在JSP頁面被轉(zhuǎn)譯成Servlet時進行的 文件合并后被編譯成一個 class文件 靜態(tài)嵌入后包含與被包含文件視為一體 如主體文件的page指令對被包含文件的約束也是有效的 主體文件也可使用被包含文件中的變量 格式為 如 一般將一個網(wǎng)站各個頁面相同的部分 如導(dǎo)航條 頁眉頁腳等 寫成單獨的文件 然后靜態(tài)include進各個頁面 以減少重復(fù)代碼 include指令 說明 一定要先寫好被嵌入的文件 否則主體程序的編譯不能被通過 所要嵌入的文件可以是文本 HTML JSP等 relativeURL這個路徑名一般來說是指相對路徑 不要端口 協(xié)議 域名 如 error jsp files header html test data jsp 包含文件中不再使用 標(biāo)記 這些標(biāo)記可能會影響在原JSP文件中同樣的標(biāo)記 這樣做有時會導(dǎo)致錯誤 課堂練習(xí) 創(chuàng)建一個html文件 內(nèi)容及輸出如下圖 另創(chuàng)建多個JSP頁面 分別包含該html文件 使得html文件的內(nèi)容出現(xiàn)在每個JSP頁面的頂部 歡迎來到信息職業(yè)技術(shù)學(xué)院 用戶名 密碼 taglib指令 taglib指令用于引入JSP頁面中需要使用的標(biāo)簽庫的定義 以便在頁面中使用標(biāo)簽庫中定義的標(biāo)簽使用格式 uri用來表示標(biāo)簽描述符 也就是告訴容器怎么找到標(biāo)簽描述文件和標(biāo)簽庫 prefix定義了在jsp頁面里面要引用這個標(biāo)簽時的前綴 例如 五 動作元素 JSP動作元素在用戶請求階段執(zhí)行 利用JSP動作元素可以動態(tài)地插入文件 重用JavaBean組件 進行頁面轉(zhuǎn)向 為Java插件生成HTML代碼等 JSP動作元素是完全基于XML語法的 它采用嚴格的XML標(biāo)簽語法來表示 格式為 或 JSP動作元素 JSP規(guī)范中定義了一系列的動作元素 常用的動作元素有 靜態(tài)或動態(tài)包含一個外部文件 請求轉(zhuǎn)到一個新的頁面 在瀏覽器中播放或顯示一個對象實例 如Applet或JavaBean 為其他標(biāo)簽提供附加信息 實例化或查找一個JavaBean 設(shè)置JavaBean的屬性 輸出某個JavaBean的屬性 元素 該標(biāo)簽告訴JSP頁面動態(tài)包含一個文件 該文件可以是一個靜態(tài)的或者動態(tài)的文件 若被包含文件是靜態(tài)的 那么會把被包含文件的內(nèi)容加到JSP文件中去 若文件是動態(tài)的 那么被包含文件會先被執(zhí)行 然后把結(jié)果加入到JSP文件中去 還可以用向被包含的動態(tài)文件傳遞參數(shù)名和參數(shù)值 的使用格式為 不帶參數(shù)格式 flush true false 帶參數(shù)格式 元素 說明 page的屬性值fileName為一相對路徑 或者是代表相對路徑的表達式 flush的屬性值為 true 表示緩沖區(qū)滿時會被清空 它默認值是false 一般使用flush為true 是以 名 值 對的形式為其他標(biāo)簽提供附加信息 它不能單獨使用 一般和 一起使用 子句能傳遞一個或多個參數(shù)值給動態(tài)文件 其中 name指定參數(shù)名 value指定參數(shù)值 若要傳遞多個參數(shù) 則可以使用多個 示例 我是主文件 這里是主文件的其他內(nèi)容 我是子文件這里是子文件 我得到的參數(shù)值為 主文件 子文件 運行結(jié)果 靜態(tài)加載和動態(tài)加載區(qū)別 指令標(biāo)簽include是靜態(tài)包含 被包含文件是在編譯時插入JSP頁面 然后一起被JSP容器編譯生成一個Servlet 動作標(biāo)簽是動態(tài)包含 是在JSP頁面被請求時 主文件和被包含文件分別被JSP容器編譯 生成兩個Servlet 然后將被包含文件的Servlet調(diào)入到主文件的Servlet中 指令標(biāo)簽在編譯時就將子文件載入 動作標(biāo)簽在運行時才將子文件載入 課堂練習(xí) a jsp中使用include動作標(biāo)簽加載b jsp 加載時向b jsp傳送某學(xué)生的姓名 學(xué)號 年齡 b jsp獲取并顯示這些數(shù)據(jù) 元素 從該指令處停止當(dāng)前頁面的執(zhí)行 而轉(zhuǎn)向另一個JSP頁面 該元素將客戶端發(fā)出的請求 request 從一個JSP頁面轉(zhuǎn)交給另一個頁面 可以是一個HTML文件 JSP文件 PHP文件 甚至可以是一個Java程序段 注意 標(biāo)簽從一個JSP文件向另一個文件傳遞一個包含用戶請求的request對象 與的區(qū)別 forward標(biāo)簽之后的代碼 將不能執(zhí)行 而include在執(zhí)行完被包含文件后 還會回主文件繼續(xù)執(zhí)行 元素 使用格式為 不帶參數(shù)格式 帶參數(shù)格式 其中 page的屬性值fileName為一相對路徑 或者是代表相對路徑的表達式 參數(shù)被發(fā)送到跳轉(zhuǎn)后的動態(tài)文件 課堂練習(xí) 理解教材p95頁 例4 11 例4 12練一練c jsp使用forward動作標(biāo)簽轉(zhuǎn)向d jsp 轉(zhuǎn)向時向d jsp傳送兩個整數(shù) 在d jsp中獲取這兩個整數(shù) 并計算其加 減 乘 除 元素 插入一個applet或Bean 必要的話還要下載一個Java插件用于執(zhí)行它 一般 元素會指定對象是Applet還是Bean 也會指定class的名字 還有位置 另外還會指定將從哪里下載這個Java插件 使用格式為 textmessageforuser 元素 說明 屬性type描述插件將執(zhí)行的對象的類型 可以為bean或applet 必須指定 屬性code描述插件將執(zhí)行的java類文件的名稱 在名稱中必須包含擴展名 且此文件必須

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論