《JSP應用開發》第四講 JSP語法基礎_第1頁
《JSP應用開發》第四講 JSP語法基礎_第2頁
《JSP應用開發》第四講 JSP語法基礎_第3頁
《JSP應用開發》第四講 JSP語法基礎_第4頁
《JSP應用開發》第四講 JSP語法基礎_第5頁
已閱讀5頁,還剩46頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第四講 JSP語法基礎主要內容本講目標新課引入與項目展示案例1 JSP注釋和腳本元素案例2 JSP指令元素案例3 JSP動作元素課堂實踐鞏固與提高本講目標知識目標掌握JSP中注釋的添加方法(重點)掌握JSP的腳本元素:聲明、表達式和腳本程序的語法格式掌握JSP中Page指令、Include指令的使用(重點)掌握JSP的Include動作、forward動作、param動作、plugin動作等動作元素的使用 (重點、難點)本講目標技能目標靈活運用輸出注釋和隱藏注釋對程序進行必要的解釋說明運用JSP的聲明、表達式和腳本程序等腳本元素進行簡單JSP程序的編寫。靈活運用指令元素對JSP頁面的相關信息進

2、行設置靈活運用JSP動作元素實現代碼處理程序與特殊JSP標記的關聯 素質嚴謹認真的工作態度語言表達和與人溝通能力團隊合作精神5任務一:JSP腳本元素和注釋JSP頁面的基本結構JSP組成部分普通的HTML標記符JSP腳本元素變量和方法的聲明Java程序片Java表達式JSP注釋JSP標簽指令標簽動作標簽6JSP 頁面組成 JSP 頁面的元素包括:靜態內容小腳本表達式聲 明1 普通的HTML標記符和文本指令標簽動作標簽以“ ” 結束。比如:以“jsp: 動作名 ” 開始,以“ ” 結束比如:4注釋2腳本元素3標簽7JSP 頁面組成 輸出當前日期你好,今天是指令靜態內容小腳本表達式注釋8JSP 腳本

3、元素JSP 腳本元素是用來嵌入Java代碼的,主要用來實現頁面的動態請求JSP 腳本元素包括:JSP腳本元素程序片表達式聲明 1聲明聲明格式如下:變量的聲明方法的聲明 類 的聲明注意:在中聲明的變量、方法、類,在整個jsp頁面內都有效。后面有分號練習:記數器程序課堂演示與實踐1聲明變量聲明注意可以在一個聲明語句中聲明多個變量和方法后面有分號在當前的JSP中有效方法和類聲明在當前的JSP中有效2 JAVA程序片語法格式如下: 注意:JAVA程序片中定義的變量是局部變量一個JSP頁面可以有多個JAVA程序片課堂演示與實踐 10)%大于10小于10 3 JAVA表達式用于在頁面上輸出信息,語法格式如

4、下: 例如 注意標記對插入表達式,表達式必須可以計算計算結果以字符串的形式顯示在頁面上%= 之間不能有空格后面不能有分號課堂演示與實踐133表達式表達式表達式是對數據的表示,系統將其作為一個值進行計算和顯示語法: 使用表達式顯示數據。顯然,表達式更有利于在HTML中顯示數據 12使用小腳本顯示數據 您是第 個訪問本站的客戶。 %! long continueSum(int n) int sum=0; for(int i=1;i1到100的連續和: 聲明的變量各個用戶共享變量ii 只被初始化一次程序片中定義的變量sum是局部的,用戶間沒有聯系sum,每次有用戶調用,都被初始化課堂練習 1、編寫J

5、SP,輸出“Hello world!”考慮有幾種方式?2、練習前面演示的例題,1-100求和,計數器等16常見錯誤的調試與排錯請指出如下JSP頁面的錯誤 輸出當前日期你好,今天是非簡單類型聲明必須import引入類課堂實踐變量的作用域未及本頁面,需要重新聲明必須是合法表達式,并有返回值17代碼查錯請指出如下JSP頁面的錯誤 Declaration Demo語法錯誤,聲明未在結尾使用“;”課堂實踐表達式不能以; 結尾小結JSP頁面HTML元素腳本聲明()聲明變量 作為類成員變量,在整個JSP頁面有效聲明方法 在整個JSP頁面有效聲明類 在整個JSP頁面有效表達式()求值,表達式能計算,后面沒有分

6、號程序片()程序片中的定義的變量為局部變量19三、JSP的注釋 合理、詳細的注釋有利于代碼后期的維護和閱讀在JSP文件的編寫過程中,共有三種注釋方法:HTML注釋 HTML格式的注釋能夠在瀏覽器端查看源文件內容時看到JSP注釋 JSP注釋不僅瀏覽器端看不到,JSP容器自動生成的Java源代碼也不會包含在JSP腳本中使用注釋: JSP容器自動生成的Java源代碼有Java注釋,但瀏覽器中看不到Java注釋缺點:不安全,加大網絡傳輸負擔JSP的注釋 HTML注釋 未顯示上一行的注釋。 HTML注釋 未顯示上一行的注釋;而且你在源代碼中也查看不到!源碼中看到源碼中看不到可以通過源代碼查看不到JSP注

7、釋的內容可以通過源代碼查看到HTML注釋的內容課堂演示與實踐小結比較三種注釋方式的不同,并給出各方式適用場合;HTML注釋HTML格式的注釋能夠在瀏覽器端查看源文件內容時看到JSP注釋JSP注釋不僅瀏覽器端看不到,JSP容器自動生成的Java源代碼也不會包在JSP腳本中使用注釋: JSP容器自動生成的Java源代碼有Java注釋,但瀏覽器中看不到Java注釋 復習JSP構成(四個部分)HTMLJSP腳本 聲明注意;結尾 變量聲明的有效范圍 可以用來聲明的類必須包含在中 表達式注意不要用;結尾 表達式必須是合法java表達式 表達式必須有返回值 一個表達式可由多可組成,從左到右執行 編碼要按照j

8、ava規范 可以在腳本中包含流程控制代碼 腳本的內容不會在客戶端源文件中顯示JSP注釋本節學習內容JSP標簽任務二:JSP指令標簽任務三:JSP動作標簽任務二:JSP的指令標簽JSP的指令標簽在JSP頁面轉換階段提供整個JSP頁面的相關信息。包括page指令用于傳遞與頁面相關的信息,如緩沖區信息、線程信息和出錯處理信息等include指令用于在頁面中包含一個外部的文檔。如著作權文檔或者公司信息文檔把通用內容寫在一個文檔,然后包含在各個頁面中,比直接寫在各個JSP頁面中更容易維護。當然,被包含的文件也可能是另一個JSP文件。taglib指令用于指出頁面可以調用的一個客戶標識庫,常用于自定義標識2

9、52.1什么是page指令page指令通過設置內部的多個屬性來定義整個頁面的屬性語法:page指令常用屬性屬性描述和用法language在編寫JSP頁面時要用的腳本語言,默認為java用法:contentType回應MIME類型(多用途Internet郵件擴充類型)。屬性的值默認為text/html。例如:import用來在JSP頁面引入包或類例如:session用來指出關于JSP頁面的會話數據的可用性。默認為true。例如:errorPage錯誤頁面的URL。例如:isErrorPage指定是否將當前頁面作為JSP錯誤頁面。如果是true,則是,否則不是。例如:1.import屬性導入JSP

10、頁面中使用的Java類一個import屬性可以導入多個Java類,中間用逗號隔開例如:上述代碼也可以寫成: 無須導入的類包java.lang.*、javax.servlet.*、 javax.servlet.jsp.* 、javax.servlet.http.*2.contentType屬性指定返回瀏覽器的內容類型屬性值。可以是text/plain(純文本文件)text/html (純文本的HTML頁面) application/x-msexcel(Excel文件) application/x-msword(Word文件)contentType屬性還可以指定字符編碼格式。如果需要在返回瀏覽器的

11、HTML頁面中使用中文字符,可以使用下列page指令: 課堂演示與實踐3.pageEncoding屬性指定JSP頁面的字符編碼,默認是ISO-8859-1 處理漢字編碼。一般設置為: GB2312、GBK在創建JSP頁面時,默認支持中文編碼:MyEclipse Enterprise Workbench-Files and Editors-JSP 設置“Encoding”值為“Chinese。”pageEncoding是jsp文件本身的編碼,contentType的charset是指服務器發送給客戶端時的內容編碼JSP要經過兩次的“編碼”,第一階段會用pageEncoding,第二階段會用utf

12、-8至utf-8,第三階段就是由Tomcat出來的網頁, 用的是contentType。在JSP標準的語法中,如果pageEncoding屬性存在,那么JSP頁面的字符編碼方式就由pageEncoding決定,否則就由contentType屬性中的charset決定,如果charset也不存在,JSP頁面的字符編碼方式就采用默認的ISO-8859-1。4.errorPage屬性指定錯誤或異常處理頁面,當頁面出現異常或錯誤時,瀏覽器顯示該屬性指定的頁面。例如:/testError.jsp/ error.jsp 數據格式異常!課堂演示與實踐5.isErrorPage屬性指定當前JSP頁面是否可以作

13、為另一JSP頁面的錯誤處理頁面值為true,在頁面中可以捕獲JSP頁面中的異常對象exceptionfalse,不可以課堂演示與實踐6.其他屬性session:值為true,則JSP頁面中可以使用session對象等,否則不能使用info:設置JSP頁面的信息字符串isThreadSafe:值為true,則可以多線程訪問,否則只能響應一個用戶的請求buffer:設置out的緩存大小 ,可為none或其他值 (kb)autoFlush:值為true,則out的緩沖區滿,自動刷新,若為false,則出現溢出異常。課堂演示與實踐32page指令用法改錯請指出如下JSP頁面的錯誤 My JSP ind

14、ex.jsp starting page This is my JSP page. 國 有中文,要求用GBK或GB2312字符集課堂實踐除import外其他屬性指定多次無意義page指令可以在任何位置,作用范圍都是整個頁面pageEncoding指定字符集有沖突總結page指令格式: 注意無論page指令的位置,作用范圍是整個JSP頁面,最好放前面可使用多個page指令來指定屬性及值import屬性可以指定幾個值其他屬性一般使用一次指定值。 錯誤2.2 include指令在該指令處插入一個文件格式為: 靜態: 在JSP頁面轉換成Servlet之前,將代碼嵌入原文件中。插入的文件可以是.txtH

15、tmljsp文件文件路徑一般使用相對路徑若以“/”開頭,則是相對于工程的根目錄 若無“/”開頭,則是相對于當前JSP文件的路徑若以“./”開頭,則表示當前目錄的上一級目錄 思考:網站所有的頁面都有統一的頁眉和頁腳,如何設置每個頁面的頁眉和頁腳,例如:include指令/ testinclude2.jsp /與JSP文件在相同目錄下這里是testInclude.jsp的輸出:北京歡迎您!/ header.html北京 2008 課堂演示與實踐include指令小結include指令是代碼包含在翻譯階段將被包含的文件插入到servlet中。不管被包含文件是靜態(txt或html)還是動態(jsp)

16、,最終只會有一個class文件文件和被包含文件中一般不要定義同名變量和方法【注意】若被包含的txt或html文件中有中文,則一般要在頭部加上JSP的page指令標簽,進行中文處理。 2.3 taglib指令用于引入JSP頁面中需要使用的標簽庫的定義,以便在頁面中使用標簽庫中定義的標簽,后續課程詳述。例如: 38任務三:JSP動作標簽為JSP頁面的執行階段提供信息,20個:在當前頁面包含靜態和動態資源為其他標簽提供附加信息 請求轉發用于訪問JavaBean其他的動作標簽.1、param動作標簽 param動作標簽與include、forward等標簽一起使用,以名-值的形式為這些標簽提供附加信息

17、。格式為 屬性name 參數的名字value 參數當與標簽一起使用時,可以將param標簽中的值傳遞到include指令要加載的文件中去。 用單個2、 include動作標簽在當前頁面上包含靜態和動態資源格式不帶參數: 帶參數格式為: 區別include指令標簽是代碼包含、翻譯時加載,將被包含文件加到原文件中include動作標簽是結果包含、運行時加載,被包含文件和原文件獨立運行查看work下的文件不帶參數,用單個帶參數,用一對動作標簽 例子/tom.jsp % String str=request.getParameter(“p1); /獲取值。 int n=Integer.parseInt

18、(str); int sum=0; for(int i=1;i 從1到的連續和是: /param.jsp加載文件效果: 課堂演示與實踐JSP的動作標簽課堂練習 a.jsp中使用include動作標簽加載b.jsp,加載時向b.jsp傳送某學生的姓名、學號、年齡, b.jsp獲取并顯示這些數據3、 forward動作標簽格式 屬性 page被轉發的相對于當前JSP頁面的路徑注意把當前的JSP頁面重定向到另一個頁面,用戶看到原來頁面的地址,內容是重定向之后新頁面的。執行頁面可以通過param動作標簽傳送參數。不帶參數,用單個帶參數,用一對 forward動作標簽 例子 jsp:param name

19、=number value= / /come.jsp 您傳過來的數值是: 課堂演示與實踐forward動作標簽說明:forward指令從指令出現的位置開始停止當前頁面的執行,其后的語句不會再執行forward指令之前的內容執行但并不顯示,最終顯示的是跳轉之后的頁面。可以向跳轉的頁面中傳遞參數 :使用param指令直接傳值在param中使用表達式傳值 value=“”使用URL 傳值 forward動作標簽課堂練習 c.jsp使用forward動作標簽轉向d.jsp,轉向時向d.jsp傳送兩個整數。在d.jsp中獲取這兩個整數,并計算其加、減、乘、除4、其他動作標簽plugin用來根據瀏覽器的類型,插入通過Java插件允許的JavaApplet所必須的元素。useBean用來生成一個bean組件,并設定它的id和使用范圍。以后要學setProperty用來在一個JSP頁面設置已創建的的bean的屬性值getProperty用來返回一個JSP頁面設置已創建的的bean的屬性值48小結JSP腳本 聲明注意“;”結尾變量聲明的有效范圍可以用來聲明的類必須

溫馨提示

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

評論

0/150

提交評論