Java-Web項目二-JSP基本語法課件_第1頁
Java-Web項目二-JSP基本語法課件_第2頁
Java-Web項目二-JSP基本語法課件_第3頁
Java-Web項目二-JSP基本語法課件_第4頁
Java-Web項目二-JSP基本語法課件_第5頁
已閱讀5頁,還剩51頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、項目二 JSP基本語法 2.1 理解JSP頁面的構成 2.2 掌握JSP的基本語法 2.3 拓展實訓23 七月 202222.1 理解JSP頁面的構成JSP頁面遵循Java的語法規則,是超文本標記語言(HTML)與Java語言兩者的融合。簡言之,在靜態頁面中按照語法嵌入動態代碼,就構成了JSP動態頁面。一個完整的JSP頁面構成如圖所示。23 七月 202232.2 理解JSP頁面的構成本任務要求熟練掌握JSP的基本語法,并能夠運用腳本標記、指令標記、動作標記等JSP元素。1.2.1 JSP腳本標記1.2.2 JSP指令標記1.2.3 JSP動作標記23 七月 202242.2.1 JSP腳本標

2、記1.JSP腳本段語法JSP腳本段(Sciptlet)是指一個有效的程序段,在這個程序段中可以聲明要用到的變量和方法、編寫Java語句,以及使用任何隱含的對象等。JSP腳本段的基本語法為,例如:%int sum=0; for( int i=0; i=10; i+) sum+=I;out.println(“sum=”+sum+”);%2.2.1 JSP腳本標記 JSP腳本段中只能出現Java代碼,不能出現其他模板元素。JSP腳本段中Java必須嚴格遵循Java語法。在一個JSP頁面中可以有多個腳本段,在兩個或多個腳本段間可以嵌入文本、HTML標記和其他JSP元素。多個腳本段中的代碼可以相互訪問,

3、單個腳本段中的Java語句可以是不完整的,但多個腳本段代碼組合后的結果必須是完整的。提示:23 七月 202262.2.1 JSP腳本標記【例1】多個腳本段的相互訪問。在項目中創建scriplet.jsp,代碼如下:23 七月 202272.2.1 JSP腳本標記在該頁面中for循環被拆分到兩個腳本段,中間插入一段html語句,這兩個腳本段相互訪問,構成完整的循環,效果如圖所示。23 七月 202282.2.1 JSP腳本標記2JSP聲明語法在JSP頁面中,可以聲明合法的變量的和方法,變量類型可以是Java語言允許的任何數據類型。這種聲明是全局變量。JSP聲明(Declaration)的基本語

4、法為,聲明的本質就是將聲明的變量和方法作為Servlet類的變量和方法,下面我們用一個例子來解釋如何聲明變量和方法。【例2】聲明變量和方法。 本例在declaration.jsp中聲明一個整型變量和一個方法,并在后面的代碼段中加以調用,代碼如下:23 七月 202292.2.1 JSP腳本標記23 七月 2022102.2.1 JSP腳本標記declaration.jsp運行后的效果如圖所示:每次刷新后,count變量都會自加1,效果如圖所示:2.2.1 JSP腳本標記 聲明必須以分號(;)結尾。可以直接使用在中已經聲明的變量和方法,不需要對它們重新進行聲明。一個聲明僅在一個頁面中生效。如果要

5、在多個頁面中用到,則可將它們寫成一個單獨的文件,然后用和包含進來。提示:23 七月 2022122.2.1 JSP腳本標記3JSP表達式語法在JSP頁面中,可以用表達式(Expression)將程序數據輸出到客戶端,其等價于“out.print”。表達式元素表示的是一個在腳本語言中被定義的表達式,在運行后被自動轉換為字符串,然后插入到這個表達式在JSP頁面中的位置并顯示。JSP表達式的基本語法為,表達式的本質就是在將JSP頁面轉化為Servlet后,使用out.print()將表達式的值輸出,下面我們用一個例子來理解表達式的妙用。23 七月 2022132.2.1 JSP腳本標記【例3】表達式

6、實例 本例在expression.jsp中定義了字符串變量url,并利用表達式指定了超級鏈接的頁面以及處理表單信息的頁面,代碼如下:23 七月 2022142.2.1 JSP腳本標記 創建expressionHref.jsp,代碼如下:頁面expression.jsp的運行效果如圖所示:23 七月 2022152.2.1 JSP腳本標記 點擊超級鏈接“點擊跳轉”或單擊按鈕“點擊跳轉”,都會定向到expressionHref.jsp,如圖所示。提示: 聲明必須以分號(;)結尾。23 七月 2022162.2.1 JSP腳本標記4JSP注釋語法在JSP頁面中,注釋分為兩大類:靜態注釋和動態注釋。靜

7、態注釋是直接使用HTML風格的注釋,這類注釋在瀏覽器中查看源文件時是可以看到注釋內容的;動態注釋包括Java注釋和JSP注釋兩種,這類注釋在瀏覽器中查看源文件時是看不到注釋內容的。注釋的語法為:靜態注釋:Java注釋:/單行注釋/* 多行注釋*/JSP注釋:23 七月 2022172.2.2 JSP指令標記JSP指令標記(Directive Elements)為JSP引擎設計的,該類標記并不直接產生任何可見的輸出,而是告訴JSP引擎如何處理JSP頁面的其余部分。例如:可以指定一個專門的錯誤處理網頁,當JSP頁面出現錯誤時,可以由JSP引擎自動地調用錯誤處理網頁。常用的JSP指令標記包括:pag

8、e頁面指令,include靜態指令,還有taglib指令。23 七月 2022182.2.2 JSP指令標記1page頁指令標記 Page指令用于定義域整個JSP頁面相關的各種屬性。其基本語法為: page指令常用的的屬性和默認值如表所示。23 七月 2022192.2.2 JSP指令標記例如:在某個JSP頁面中,如果需要導入Java的sql包,并設置錯誤處理頁面,則:提示:無論page指令出現在JSP頁面中的什么地方,它作用的都是整個JSP頁面(包括靜態的包含文件,但不能作用于動態的包含文件),為了保持程序的可讀性和遵循良好的變成習慣,page指令最好是放在整個JSP頁面的起始位置。在一個J

9、SP頁面中可以使用多個指令,但其中的屬性只能用一次,不過import屬性例外,它可以多次出現,引入多個類和包,這和Java中的import語句差不多。23 七月 2022202.2.2 JSP指令標記1include靜態包含指令標記 include指令用于引入其他JSP頁面,引入后,JSP引擎會將這兩個JSP頁面翻譯成一個servlet。因此include指令通常也別稱為靜態引入。其基本語法為: 所謂靜態,是指file屬性的值不能是一個變量,也不可以在file所指定的文件后添加任何參數。23 七月 2022212.2.2 JSP指令標記【例4】include指令標記使用實例 用include指

10、令引入相同文件夾下的head.jsp頁面,代碼如下:23 七月 2022222.2.2 JSP指令標記創建head.jsp,代碼如下:運行include.jsp的效果如圖所示。2.2.2 JSP指令標記 被引入的文件必須遵循JSP語法。被引入的文件可以使用任意的擴展名,但都會被JSP引擎按照JSP頁面的處理方式去處理,為了見名知意,建議使用“.jspf”(JSP fragment,即JSP片段)作為靜態引入文件的擴展名。被引入的文件中不要包含、等標記,因為這樣會影響引入文件中同樣的標記。引入和被引入文件中的指令不能沖突(page指令中的pageEncoding和import屬性除外)。提示:2

11、3 七月 2022242.2.3 JSP動作標記與指令標記不同,JSP動作標記(Action Element)是在客戶端請求時動態執行的。 JSP動作標記是一種特殊標簽,并且以前綴jsp和其他的HTML標簽相區別,利用JSP動作標記可以實現很多功能,包括動態地插入文件、重用JavaBean組件、把用戶重定向到另外的頁面、為Java插件生成HTML代碼等。 23 七月 2022252.2.3 JSP動作標記1動作標記可以用來包含其他靜態或動態文件。其基本語法為:不帶參數帶參數jsp:param 其中,屬性page指向的是被包含文件的相對路徑;當屬性flush為true時,表示實時輸出緩沖區,它的

12、默認值是false。子句能傳遞一個或多個參數給動態文件,也可以在一個頁面中使用多個來傳遞多個參數給動態文件。23 七月 2022262.2.3 JSP動作標記【例5】帶參數的inlcude動作標記 本例在incluldeJsp.jsp中,通過動作標記引入date.jsp,并利用向被引入的頁面傳遞參數,此處要通過request內置對象的setCharacterEncoding(“編碼格式”)來設定編碼格式,以避免傳遞中文時亂碼。includeJsp.jsp的代碼如下:23 七月 2022272.2.3 JSP動作標記創建date.jsp,代碼如下:23 七月 2022282.2.3 JSP動作標

13、記運行includeJsp.jsp的效果如圖所示。提示:被引入的文件必須遵循JSP語法。被引入的文件可以使用任意的擴展名,但都會被JSP引擎按照JSP頁面的處理方式去處理,為了見名知意,建議使用“.jspf”(JSP fragment,即JSP片段)作為靜態引入文件的擴展名。23 七月 2022292.2.3 JSP動作標記2動作標記用于在服務器端終止當前頁面的運行,并重定向到其他指定頁面。重定向的目標可以是靜態的HTML頁面、JSP頁面,或者是一個程序段。其基本語法為:不帶參數帶參數 jsp:param其中,屬性page指向的是重定向的頁面路徑。23 七月 2022302.2.3 JSP動作

14、標記【例6】帶參數的forward動作標記 本例在forward.jsp中,通過動作標簽將頁面重定向到forwardTo.jsp,并利用傳遞參數。在forwardTo.jsp中,利用request內置對象中的getParameter(“變量名”)來接受傳遞過來的參數。創建forward.jsp,代碼如下:23 七月 2022312.2.3 JSP動作標記創建forwardTo.jsp,代碼如下:forward.jsp的運行效果如圖2-9所示。23 七月 2022322.2.3 JSP動作標記提示:forward.jsp執行到標記出現處時停止當前頁面的執行,并重定向到新的頁面,也就是說,forw

15、ard.jsp中標記后的部分不執行,如圖2-9所示,并沒有輸出表達式。動作標記執行的是服務器端的跳轉,瀏覽器地址不變,如圖2-9標紅方框所示,地址仍為/forward.jsp。23 七月 2022332.2.3 JSP動作標記3動作標記用來傳遞參數給JSP頁面。其基本語法為:jsp:param name=”參數名” value=”參數值|”/ 其中,屬性name表示傳遞的參數名稱,并屬性value設置屬性的值。提示:JSP標記不同于HTML標記,屬性值必須加上雙引號,否則執行時會報錯。使用動作標記用來傳遞參數,在JSP頁面中通過request.getParameter(“屬性名”)來獲取參數的

16、值。動作標記必須配合、或等標記使用,在加載外部程序或是網頁轉換的時候,傳遞參數給另一個JSP頁面,單獨使用沒有意義。23 七月 2022342.2.3 JSP動作標記4動作標記用于在JSP網頁中加載Java Applet或JavaBean程序組件,與HTML的與標簽有著類似的功能。這個元素有許多屬性設置,如表所示。23 七月 2022352.2.3 JSP動作標記5、和動作標記5.1 動作標記動作標記用來加載JSP頁面中使用的JavaBean,其語法格式如下:其中,id指定該JavaBean實例變量的名稱,scope指定該Bean變量的有效范圍:page指只在當前JSP頁面有效;request

17、指在任何執行相同請求的JSP頁面中使用該Bean,直到頁面執行完畢;session指從創建該Bean開始,在相同session下的JSP頁面中可以使用該Bean;application指從創建該Bean開始,在相同application下的JSP頁面可以使用該Bean。例如:23 七月 2022362.2.3 JSP動作標記5、和動作標記5.2 動作標記動作標記用于設置已經實例化的Bean對象的屬性,其基本語法格式為:jsp:setPropety name=”JavaBean實例名稱” property=”*”| property=”屬性名” param=”參數”| property=”屬性名

18、” value=”String|”/提示:中name值必須和中的id值相同,且大小寫敏感23 七月 2022372.2.3 JSP動作標記5、和動作標記5.3 動作標記動作標記可獲取Bean的屬性值,用于在頁面中顯示。其基本語法格式為:23 七月 2022382.3 拓展實訓任務要求完成一個主題網站,進一步掌握JSP的基本語法。任務描述2.3.1 主題網站的運行效果當我們在瀏覽主題網站時,經常會發現,這些網站的不同頻道都是用相同的Logo和頻道導航做題頭。本任務就是要完成一個主題網站,如下面3張圖所示。如果在每個頁面的題頭部分都放置網站的Logo頻道導航,則會導致的問題是,當網站Logo或頻道

19、需要更換時,就需要對每一個頻道的網頁重新設計,這樣的維護既費時又費力。因此,為了便于實現快速維護,我們將兩個相對獨立的網頁拼接成第一張圖所示的頁面,更改Logo圖時,我們只需要對top.html進行調整即可。23 七月 2022392.3.1 拓展實訓23 七月 2022402.3.1 拓展實訓23 七月 2022412.3.1 拓展實訓23 七月 2022422.3.2 功能設計1. 創建工程啟動IntelliJ IDEA,創建web應用chapter2,在web文件夾下創建images文件夾,并將top.jpg導入到images文件夾中。在web文件夾下創建JSP類型文件welcome.j

20、sp、index.jsp、feature.jsp、contact.jsp和HTML類型文件top.html、welcome.html、feature.html、contact.html。2. 將已有資源添加到當前工程展開chapter2工程,可以看到chapter2工程下的web子文件。選中web子文件夾,單擊鼠標右鍵,在彈出的快捷菜單中選擇NewDirectory命令,創建images文件夾,將制作好的圖片文件top.jpg復制到該文件夾。3. HTML頁面設計首先創建top.html、welcome.html、feature.html和contact.html頁面,如下3張圖所示。23 七月 2022432.3.2 拓展實訓23 七月 2022442.3.2 拓展實訓23 七月 2022452.3.2 拓展實訓23 七月 2022462.3.2 拓展實訓top.html代碼如下:23 七月 2022472.3.2 拓展實訓welcome.html代碼如下:23 七月 2022482.3.2 拓展實訓feature.html代碼如下:23 七月 2022492.3.2 拓展實訓contact.html代碼如下:23 七月 2022502.3.2 拓展實訓4. JSP頁面功能設計(1)welcome.jsp功能設計在chapter2工程中,

溫馨提示

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

評論

0/150

提交評論