已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第4章JSP基本語法 一 JSP基本元素 一個(gè)完整的JSP程序一般包含JSP代碼和HTML代碼兩部分 JSP代碼嵌入在HTML代碼中間 JSP代碼一般指Java程序片和JSP標(biāo)簽 一個(gè)JSP頁面可由以下四種元素構(gòu)成 模板元素腳本元素指令元素動(dòng)作元素 二 模板元素 模板元素主要指普通HTML標(biāo)簽 HTML注釋等基本標(biāo)簽 字符格式化 常用表單元素單行文件本框 text 密碼框 password 單選按鈕 radio 復(fù)選按鈕 checkbox 重置按鈕 reset 提交按鈕 submit 文本域 表格 詳見 HTML主要標(biāo)簽及含義 三 腳本元素 JSP腳本元素是用來嵌入Java代碼的主要包括聲明 表達(dá)式 Scriptlet三種 聲明 聲明是指在JSP程序中定義變量和方法 聲明后的變量和方法可以在JSP頁面的任意地方使用 聲明放在 標(biāo)記符號(hào)間 使用格式如下 如 說明 之間定義的變量和方法是全局 靜態(tài) 的 多個(gè)用戶請求同一個(gè)JSP頁面時(shí) 各用戶共享成員變量 的值 表達(dá)式 表達(dá)式是獲取變量的值或方法的返回值 并把結(jié)果在JPS頁面上輸 表達(dá)式在頁面的位置即是結(jié)果輸出位置 在 之間插入表達(dá)式 使用格式如下 如 獲得變量i的值 獲得方法的返回值說明 在之間不可插入語句 表達(dá)式后沒有 表達(dá)式必須能求值 其值由服務(wù)器負(fù)責(zé)計(jì)算 將計(jì)算結(jié)果以字符串的形式返回并插入到JSP頁面的相應(yīng)位置 表達(dá)式示例 Sin 0 9 除以3等于3的平方是 12345679乘72等于5的平方根等于99大于100嗎 回答 100 程序段 Scriptlet Scriptlet即是Java程序片段 它可以包含任意的Java代碼 實(shí)現(xiàn)復(fù)雜的操作和控制 在 之間插入Java程序片段 使用格式如下 如 說明 1 一個(gè)JSP頁面可以有許多Java程序片 JSP引擎順序執(zhí)行這些程序片 可以把一個(gè)程序片拆分成幾個(gè)更小的程序片 然后在這些小的程序片之間插入JSP頁面的一些其他標(biāo)記元素 2 之間定義的變量和方法是局部 動(dòng)態(tài) 的 多個(gè)用戶請求同一個(gè)JSP頁面時(shí) 各用戶間沒聯(lián)系 分別擁有各自的局部變量 程序段Scriptlet示例 你好 你好你好 聲明中定義的變量是全局變量 運(yùn)行程序 i的值不斷增加您是第個(gè)訪問本站的客戶 程序片中定義的變量是局部變量 每次運(yùn)行 i總是1您是第個(gè)訪問本站的客戶 全局變量與局部變量的對比 計(jì)數(shù)器程序 課堂練習(xí) 求1 10的平方及平方根 求平方根的方法 Math里的sqrt 方法 并在瀏覽器中以表格的形式輸出 簡單表格示例 這是一行一列這是一行二列這是二行一列這是二行二列 四 指令元素 JSP指令的主要作用是和JSP引擎之間進(jìn)行溝通 JSP指令發(fā)送消息到服務(wù)器端 并不向客戶端產(chǎn)生任何輸出 所有的指令都在JSP整個(gè)文件范圍內(nèi)有效 在 之間插入JSP指令 使用格式為 說明 屬性值總是用雙引號(hào)或單引號(hào)括起來 屬性之間用空格分隔 不需要任何標(biāo)點(diǎn) JSP中主要有以下3種指令標(biāo)簽 page指令 include指令 taglib指令 Page指令 在JSP頁面中 可以通過頁面指令page來定義整個(gè)JSP頁面的屬性 通過這個(gè)指令定義的屬性會(huì)對該JSP文件以及靜態(tài)包含進(jìn)來的頁面起作用 使用格式為 page指令可以設(shè)置的屬性有 import contentType isThreadSafe session buffer autoflush extends info errorpage isErrorpage language pageEncoding 各屬性含義見書p87 page指令 說明 page指令可放在JSP的文件的任何地方 但為了增加程序的可讀性 習(xí)慣上放置在頁面的前面 page指令作用于整個(gè)JSP頁面 包括靜態(tài)的包含文件 但是指令不能作用于動(dòng)態(tài)的包含文件可以在一個(gè)頁面中用上多個(gè)page指令 但其中的屬性只能用一次 有個(gè)例外是import屬性 可以出現(xiàn)多次 用于導(dǎo)入多個(gè)Java類 page指令屬性值 import屬性import屬性導(dǎo)入JSP頁面中使用的Java類 一個(gè)import屬性可以導(dǎo)入多個(gè)Java類 中間用逗號(hào)隔開 例如 上述代碼也可以寫成 下面的包在JSP編譯時(shí)已經(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 英文 默認(rèn) 或GB2321 中文 例如 如果需要在返回瀏覽器的HTML頁面中使用中文字符 可以使用下列page指令 page指令屬性值 errorPage屬性errorPage屬性指定錯(cuò)誤或異常處理頁面 當(dāng)頁面執(zhí)行出現(xiàn)異常或錯(cuò)誤時(shí) 瀏覽器顯示該屬性指定的頁面 例如 isErrorPage屬性指定當(dāng)前頁面是否是異常處理頁面 值為true或false page指令屬性值 pageEncoding屬性指定JSP頁面的字符編碼 默認(rèn)是ISO 8859 1 若要正常顯示漢字 通常指定為 GB2312或GBKpageEncoding和contentType的區(qū)別與聯(lián)系 pageEncoding是jsp文件本身的編碼 contentType的charset是指服務(wù)器發(fā)送給客戶端時(shí)的內(nèi)容編碼 它們的預(yù)設(shè)都是ISO8859 1 而隨便設(shè)定了其中一個(gè) 一般另一個(gè)就跟著一樣了 若都設(shè)置了 在設(shè)置JSP源文件字符集時(shí) 優(yōu)先級(jí)為pageEncoding contentType 設(shè)置響應(yīng)輸出的字符集時(shí) 優(yōu)先級(jí)為contentType pageEncoding 示例 info屬性 此頁面信息如下 s info屬性 一個(gè)字符串 常用于顯示JSP頁面的版本作者等信息 可使用getServletInfo 方法獲得 課堂練習(xí) 在程序片中設(shè)置數(shù)組越界異常 在頁面出現(xiàn)異常或錯(cuò)誤時(shí) 跳轉(zhuǎn)到errorPage指定的錯(cuò)誤頁面 errorPage頁面的輸出內(nèi)容為 數(shù)組下標(biāo)越界了 請檢查 并顯示當(dāng)前的日期 include指令 include指令允許在JSP頁面內(nèi)某處靜態(tài)嵌入一個(gè)文件 包含是在JSP頁面被轉(zhuǎn)譯成Servlet時(shí)進(jìn)行的 文件合并后被編譯成一個(gè) class文件 靜態(tài)嵌入后包含與被包含文件視為一體 如主體文件的page指令對被包含文件的約束也是有效的 主體文件也可使用被包含文件中的變量 格式為 如 一般將一個(gè)網(wǎng)站各個(gè)頁面相同的部分 如導(dǎo)航條 頁眉頁腳等 寫成單獨(dú)的文件 然后靜態(tài)include進(jìn)各個(gè)頁面 以減少重復(fù)代碼 include指令 說明 一定要先寫好被嵌入的文件 否則主體程序的編譯不能被通過 所要嵌入的文件可以是文本 HTML JSP等 relativeURL這個(gè)路徑名一般來說是指相對路徑 不要端口 協(xié)議 域名 如 error jsp files header html test data jsp 包含文件中不再使用 標(biāo)記 這些標(biāo)記可能會(huì)影響在原JSP文件中同樣的標(biāo)記 這樣做有時(shí)會(huì)導(dǎo)致錯(cuò)誤 課堂練習(xí) 創(chuàng)建一個(gè)html文件 內(nèi)容及輸出如下圖 另創(chuàng)建多個(gè)JSP頁面 分別包含該html文件 使得html文件的內(nèi)容出現(xiàn)在每個(gè)JSP頁面的頂部 歡迎來到信息職業(yè)技術(shù)學(xué)院 用戶名 密碼 taglib指令 taglib指令用于引入JSP頁面中需要使用的標(biāo)簽庫的定義 以便在頁面中使用標(biāo)簽庫中定義的標(biāo)簽使用格式 uri用來表示標(biāo)簽描述符 也就是告訴容器怎么找到標(biāo)簽描述文件和標(biāo)簽庫 prefix定義了在jsp頁面里面要引用這個(gè)標(biāo)簽時(shí)的前綴 例如 五 動(dòng)作元素 JSP動(dòng)作元素在用戶請求階段執(zhí)行 利用JSP動(dòng)作元素可以動(dòng)態(tài)地插入文件 重用JavaBean組件 進(jìn)行頁面轉(zhuǎn)向 為Java插件生成HTML代碼等 JSP動(dòng)作元素是完全基于XML語法的 它采用嚴(yán)格的XML標(biāo)簽語法來表示 格式為 或 JSP動(dòng)作元素 JSP規(guī)范中定義了一系列的動(dòng)作元素 常用的動(dòng)作元素有 靜態(tài)或動(dòng)態(tài)包含一個(gè)外部文件 請求轉(zhuǎn)到一個(gè)新的頁面 在瀏覽器中播放或顯示一個(gè)對象實(shí)例 如Applet或JavaBean 為其他標(biāo)簽提供附加信息 實(shí)例化或查找一個(gè)JavaBean 設(shè)置JavaBean的屬性 輸出某個(gè)JavaBean的屬性 元素 該標(biāo)簽告訴JSP頁面動(dòng)態(tài)包含一個(gè)文件 該文件可以是一個(gè)靜態(tài)的或者動(dòng)態(tài)的文件 若被包含文件是靜態(tài)的 那么會(huì)把被包含文件的內(nèi)容加到JSP文件中去 若文件是動(dòng)態(tài)的 那么被包含文件會(huì)先被執(zhí)行 然后把結(jié)果加入到JSP文件中去 還可以用向被包含的動(dòng)態(tài)文件傳遞參數(shù)名和參數(shù)值 的使用格式為 不帶參數(shù)格式 flush true false 帶參數(shù)格式 元素 說明 page的屬性值fileName為一相對路徑 或者是代表相對路徑的表達(dá)式 flush的屬性值為 true 表示緩沖區(qū)滿時(shí)會(huì)被清空 它默認(rèn)值是false 一般使用flush為true 是以 名 值 對的形式為其他標(biāo)簽提供附加信息 它不能單獨(dú)使用 一般和 一起使用 子句能傳遞一個(gè)或多個(gè)參數(shù)值給動(dòng)態(tài)文件 其中 name指定參數(shù)名 value指定參數(shù)值 若要傳遞多個(gè)參數(shù) 則可以使用多個(gè) 示例 我是主文件 這里是主文件的其他內(nèi)容 我是子文件這里是子文件 我得到的參數(shù)值為 主文件 子文件 運(yùn)行結(jié)果 靜態(tài)加載和動(dòng)態(tài)加載區(qū)別 指令標(biāo)簽include是靜態(tài)包含 被包含文件是在編譯時(shí)插入JSP頁面 然后一起被JSP容器編譯生成一個(gè)Servlet 動(dòng)作標(biāo)簽是動(dòng)態(tài)包含 是在JSP頁面被請求時(shí) 主文件和被包含文件分別被JSP容器編譯 生成兩個(gè)Servlet 然后將被包含文件的Servlet調(diào)入到主文件的Servlet中 指令標(biāo)簽在編譯時(shí)就將子文件載入 動(dòng)作標(biāo)簽在運(yùn)行時(shí)才將子文件載入 課堂練習(xí) a jsp中使用include動(dòng)作標(biāo)簽加載b jsp 加載時(shí)向b jsp傳送某學(xué)生的姓名 學(xué)號(hào) 年齡 b jsp獲取并顯示這些數(shù)據(jù) 元素 從該指令處停止當(dāng)前頁面的執(zhí)行 而轉(zhuǎn)向另一個(gè)JSP頁面 該元素將客戶端發(fā)出的請求 request 從一個(gè)JSP頁面轉(zhuǎn)交給另一個(gè)頁面 可以是一個(gè)HTML文件 JSP文件 PHP文件 甚至可以是一個(gè)Java程序段 注意 標(biāo)簽從一個(gè)JSP文件向另一個(gè)文件傳遞一個(gè)包含用戶請求的request對象 與的區(qū)別 forward標(biāo)簽之后的代碼 將不能執(zhí)行 而include在執(zhí)行完被包含文件后 還會(huì)回主文件繼續(xù)執(zhí)行 元素 使用格式為 不帶參數(shù)格式 帶參數(shù)格式 其中 page的屬性值fileName為一相對路徑 或者是代表相對路徑的表達(dá)式 參數(shù)被發(fā)送到跳轉(zhuǎn)后的動(dòng)態(tài)文件 課堂練習(xí) 理解教材p95頁 例4 11 例4 12練一練c jsp使用forward動(dòng)作標(biāo)簽轉(zhuǎn)向d jsp 轉(zhuǎn)向時(shí)向d jsp傳送兩個(gè)整數(shù) 在d jsp中獲取這兩個(gè)整數(shù) 并計(jì)算其加 減 乘 除 元素 插入一個(gè)applet或Bean 必要的話還要下載一個(gè)Java插件用于執(zhí)行它 一般 元素會(huì)指定對象是Applet還是Bean 也會(huì)指定class的名字 還有位置 另外還會(huì)指定將從哪里下載這個(gè)Java插件 使用格式為 textmessageforuser 元素 說明 屬性type描述插件將執(zhí)行的對象的類型 可以為bean或applet 必須指定 屬性code描述插件將執(zhí)行的java類文件的名稱 在名稱中必須包含擴(kuò)展名 且此文件必須
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年上半年遼源市東豐縣綜合執(zhí)法局所屬環(huán)衛(wèi)處車輛駕駛員招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年遼寧省葫蘆島市事業(yè)單位招聘768人筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2025年上半年遼寧省大連市委市政府法律顧問選聘40人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年遼寧沈陽市事業(yè)單位公開招聘博士人才900人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年消防給水系統(tǒng)工程保險(xiǎn)合同3篇
- 2025年上半年貴州黔南龍里縣洗馬鎮(zhèn)人民政府招聘臨聘人員6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年貴州黔東南州施秉縣杉木河景區(qū)招聘48人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2025年上半年貴州貴陽市招聘事業(yè)單位工作人員569人筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2025年上半年貴州省銅仁萬山區(qū)青年就業(yè)見習(xí)人員50人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年貴州省網(wǎng)絡(luò)信息安全技術(shù)維護(hù)管理中心公開招聘3人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解-1
- 2024版智慧電力解決方案(智能電網(wǎng)解決方案)
- 公司SWOT分析表模板
- 小學(xué)預(yù)防流行性感冒應(yīng)急預(yù)案
- 肺癌術(shù)后出血的觀察及護(hù)理
- 生物醫(yī)藥大數(shù)據(jù)分析平臺(tái)建設(shè)-第1篇
- 基于Android的天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 沖鋒舟駕駛培訓(xùn)課件
- 美術(shù)家協(xié)會(huì)會(huì)員申請表
- 聚合收款服務(wù)流程
- 中石化浙江石油分公司中石化溫州靈昆油庫及配套工程項(xiàng)目環(huán)境影響報(bào)告書
- 搞笑朗誦我愛上班臺(tái)詞
評(píng)論
0/150
提交評(píng)論