版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、jsp 2.0網頁設計範例教本習題解答第1章:jsp基礎與開發環境的建立1. web應用程式(web application )簡單的說是一組網頁(包含 html文件、圖片和相關伺服端網頁技術的程式檔案)的集合,應用程 式可以回應使用者的請求5與使用者進行互動°目前internet擁有多種 不同類型的web應用程式,例如:網路銀行、電子商務網站、搜尋引 擎、網路商店、拍賣網站和電子公共論壇等。web應用程式是使用jsp伺服端網頁技術建立,以http通訊協定 進行通訊所建立的主從架構應用程式,如下圖所示:上述例使用者在客戶端提出http請求,要求的檔案是jsp程式'例如:使用者
2、在客戶端html表單輸入欄位資料後,按下送出鈕,就會送出http請求給指定的表單處理jsp程式testjsp,http請求訊 息內容,如下所示:post test.jsp http/1.1host: user-agent: mozilla/4.0(compatible; msie 6.0; windows nt 5.1)connection: keep-alivecontent-type: application/x-www.form-urlencodedcontent-length: 32home=cosby&favorite+flavor=files上述http請求訊息的第1列送出
3、post指令,之後是jsp程式檔 案名稱testjsp,傳送的訊息除了 http標頭資訊外,還包含使用者在 html表單欄位輸入的內容。2. http 通訊協定(hypertext transfer protocol )是一種在伺服端 (server)和客戶端(client)之間傳送檔案的通訊協定,目前的版本是 11版,如下圖所示:http請求(http request) h客戶端 (cl ient)伺服端 (server)http回應(http response)上述http通訊協定的應用程式是一種主從架構(client-server architecture )應用程式,在客戶端使用 ur
4、l ( uniform resource locator )指定連線的伺服端資源,在其間傳送http訊息(http message )來進行溝通'以便請求指定的檔案'其過程如下所示: n stepl :客戶端要求連線伺服端。n step 2 :伺服端允許客戶端的連線。口 step 3 :客戶端送出http請求訊息,內含get指令請求取得伺服 端的指定檔案。 step 4 :伺服端以http回應訊息來回應客戶端的請求,傳回訊息包 含請求的檔案內容。3 java applet、java servlet、jsp。4. 請參閱第121和122節。5. jsp(javaserver pa
5、ges)屬於伺服端網頁技術,目前的版本是 2.0,所謂伺服端網頁技術,簡單的說,程式是在web伺服器上執行, 而不是在客戶端瀏覽程式。jsp和servlet技術擁有密切關係,其主要差異在於servlet是讓程 式設計者開發web伺服器的擴充功能和建立web應用程式處理流程的 控制程式,而jsp技術主要是讓網頁設計者能夠輕鬆建立動態網頁內 容,換句話說,我們可以將java網頁技術servlet分割成程式設計者建 立的servlet和網頁設計者使用的jsp,如下圖所示:上述圖例右邊的servlet程式是上一節建立的servlet程式,servlet 程式的功能已經分割成左邊3種java網頁技術的元
6、件,servlet負責 http請求的處理,jsp建立回應的html文件(內含jsp元素來建立 動態網頁內容),javabeans是一種可重複使用的java元件,詳細的說 明請參閱第10章,可以讓開發的程式使用在其它的web應用程式。現在,程式設計者因為熟悉java語言和物件導向程式設計,所以 負責servlet和javabeans程式開發,網頁設計者只需了解基本java語 法,就可以使用jsp技術專注於介面的動態網頁設計。上述分割方式主 要是針對大型web應用程式的開發,可以對應mvc設計模型(model-view-controler design pattern )的 java web 應
7、用程式架構。6. java的web應用程式架構是一種結合servlet、jsp技術和javabeans 元件的三層架構,如下圖所示:展示層(presentation layer)html檔案javaappletjsp程式jsp程式servlet控制層(control layer)上述圖例的虛線框是使用mvc設計模型(modelview controller design pattern)建立的web應用程式架構,mvc設計模型是 1980年由xerox所提出的應用程式架構,將應用程式分成三層view、 controller 和 model,如下所示:展示層(presentation layer
8、):展示層是與使用者互動的使用者介 面,這是在客戶端瀏覽程式實際看到的顯示結果或表單介面,我們 可以使用html、java applet或jsp程式來產生展示層的使用者介 面,或顯示web應用程式的執行結果,即mvc設計模型(model- view-control design pattern )的 view。控制層(control layer):控制層是用來連結展示層和商業邏輯層, 以servlet或jsp作為控制層來控制應用程式的執行,即作為控制資 料處理流程的控制者controller,負責接收使用者的http請求。商業邏輯層(business logic layer ):商業邏輯層負責
9、web應用程 式的資料存取和處理'即model,我們可以使用javabeans和jsp來 建立商業邏輯層,存取和處理儲存在資料庫、文字檔案和xml檔案 中的資料。在早期的jsp規格書中,曾經提出過兩種架構來使用jsp技術,稱 為model 1和model 2架構,其中model 1可以再分為兩種,如下所 示:model 1 type 1model 1 type 1適合小型web應用程式的開發,這是一種純粹使用 jsp程式來建立展示層、控制層和商業邏輯層的三層架構,如下圖所 示:檔案或資料庫請求瀏覽程式jsp回應客戶端伺服端web應用程式model 1 type 2model 1 typ
10、e 2也適合小型web應用程式的開發,這是使用jsp程式建立展示層和控制層'javabeans建立商業邏輯層j如下請求瀏覽程式jsp回應u二javabeans “ )檔案或資料庫cx juu 客戶炳伺服端web應用程式model 2model 2適用在大型web應用程式的開發,使用jsp建立展示層 view,servlet作為控制層來控制應用程式的執行的controller, javabeans負責商業邏輯層的資料存取和處理5即model,如下圖所示:ofip xuj 客戶v而伺服端web應用程式7. jsp技術因為是一種伺服端網頁技術,所以其開發環境也是一種主從架構的開發環境,如下圖
11、所示:客戶端伺服端上述圖例的相關軟體需求,如下所示:瀏覽程式(browser ):在客戶端需要瀏覽程式檢視執行結果,jsp 技術支援各種瀏覽程式,在本書是使用微軟internet explorer來檢視 jsp程式的執行結果。 jsp容器(jsp container):能夠執行jsp程式的web伺服器,例 女u : tomcat、resin和jrun等都是相當著名的jsp容器:在本書是 使用resin伺服器或搭配iis來執行jsp程式。o jdk : jsp程式需要轉換成servlet後,才能使用jdk進行編譯和執 行,昇陽的jdk分成多種版本,本書使用的版本是j2se (java 2 pla
12、tform standard edition )。資料庫管理系統:web應用程式的資料大多是儲存在資料庫,例 女u : access 和 mysql °請參閱第1-3、1-4和1-5節的說明。9. resin的serlet/jsp容器可以搭配微軟iis的web伺服器,讓iis也能 夠支援jsp,成為jsp開發和執行環境,其分工為iis負責處理html 和圖片檔案,resin處理jsp和servlet程式,如下圖所示:http請求 ji is伺服器http回應isapi srun. dl iresin srun (servlets/javabeans)web伺服器ch1-5.tif上述
13、圖例的us是使用isapi來執行isapi_srun.dll,以便與resin進 行溝通,使用resin srun支援servlet/jsp容器來執行java網頁技術的 servlet、jsp 和 javabeans °10.請參閱第153節的說明。第 2 章:html、xml 和 xhtml 實1. tim berners-lee 在 1991 年建立了 html,1993 年 html1.0 版由berners-lee和connolly完成,經過3.2版到冃前的最新版html 4.0x版,它是一種文件的編排語言,並不能像sgml能夠定義標示文件的標籤,html只是延用sgml慣用
14、的語法標籤和屬性,如下表所示:語法說明標籤標籤是使用一般字串的符號,可以在欲編排文字內容標示使 用的編排格式屬性每一個標籤可以擁有一些屬性定義文字內容的細部編排html文件的基本架構可以分為數個區塊'標示文件的不同用途'如下所示:<html>標示著一份html文件<head> html文件的標題</head><body> html文件的內容</body></html>上述html文件的架構分為三個區塊,如下表所示:區塊說明<html> . </html>html文件的內容使用vhtm
15、l>標籤包圍,在這標籤 間的內容告訴瀏覽程式這是一份html文件,內 含<head>和vbody>兩大區塊<head> . </head>html文件的標題區塊,定義文件標題、文件網址 和文件本身的相關定義<body> . </body>html文件實際的編排內容是放在這個區塊2.標籤說明<h3>標題文字<b>粗體字<br>換行<hr>水平線<ul><li>項目符號3. rxmlj (extensible markup language)可擴展標示語言
16、屬於一種 標籤語言,xml 1.0版規格在1998年2月正式推出,xml的寫法十分 類似html,繼承sgml自定標籤的優點,並且刪除一些sgml複雜 的部分,在功能上能夠補足html標籤的不足,而擁有更多的擴充性。不過xml並不是用來編排內容,而是用來描述資料,它並沒有如 同html-般的預設標籤,事實上使用者需要自己定義描述資料所需的 各種標籤。xml 文件:ch2_3_l.xmlxml文件使用自訂的標籤來定義筆者圖書的相關資料。請啟動瀏 覽程式,在瀏覽程式的【網址】欄輸入下列url網址,如下所示:http:/localhost/ch02/ch2_3_1 .xml上述url網址的local
17、host是指本機電腦,按enter |鍵,稍等一 下'就可以看到xml文件顯示的網頁內容,如下圖所示:刍 http:/localhost/ch02/ch2_3_l .xml - microsoft intemet. 匚叵区j檔案編輯 檢視(y)我的最愛(a)工具(i)說明ifq上一頁 j 国圖i q 丿2)搜尋我的最愛>網址 圍http:/4ocalho$ta:h02/ch2 .xml 17 q 移至<?xml version=l,1.0'1 encoding=,big5" ?> v!網頁製作徹底研究系列->-<booklist>一
18、 <book><code>f8920</code><title>asp.netffl 頁製作徹底研究 </title>- <authorlist>vmuthor陳會安 v/muthor</authorlist><price>650</price></book>-<book><code>f8934a</code><title>xml3g頁製作議底研究</title>-<authorlist><auth
19、or> 陳會安 </author></authorlist><price>650</price></book></booklist>樹完成近端內部網路上述圖例是internet explorer瀏覽程式的顯示結果,預設使用樹狀 結構的節點來顯示xml元素。程式內容01: <?xml version=h1.0h encoding=f,big5h?>02: v!-網頁製作徹底研究系列03: <booklist>04:<book>05:<code>f8920</code
20、>06:<title>asp.net網頁製作徹底研究</title>07:<authorlist>0&<author> 陳會安 </author>09:</authorlist>10:<price>650</price>11:</book>12:<book>13:<code>f8934a</code>14:<title>xml網頁製作徹底研究</title>15:<authorlist>16:<a
21、uthor> 陳會安 </author>17:</authorlist>18:<price>650</price>19:</book>20: </booklist>程式說明xml文件的基本架構,可以分為幾個部分,如下所示:文件宣告:第1列是xml文件宣告,定義xml文件的版本和使用 的子碼集(即編碼),以此例為1.0版,使用中文big5字碼。根標籤:第3和20列是xml文件的根標籤vbooklist>和結尾標籤 v/booklist,這是樹狀結構的根元素。o 子元素:在第419列是根元素的子元素book,而第5
22、10列和第 1318 列為 book 元素的子元素 code ' title、authorlist 和 price °4. 請參閱第232節的說明。5xml文件本身只是以標籤來定義不同的資料,如果需要顯示xml 元素的資料,如同一個文字檔案的資料庫,查詢資料表的記錄建方所需 的報表,我們需要一種機制來描述xml元素如何被顯示,這種語言稱 為樣式語言,xsl(extensible style language)就是配合xml的 樣式語言。xsl 和 xml 文件一樣源於 sgml 的dsssl(document style semantics and specification
23、 language ) ,xsl 的功能十分強大,屬於一 種真正的script語言,在功能上主要分為兩個部分,如下所示:轉換xml文件:將xml文件架構轉換成另一個xml架構的文 件,或非xml文件,例如:html文件。格式化xml文件:格式化元素內容的樣式,以便顯示出xml文 件。xsl的兩個部分功能分別屬於不同的規格,其中轉換部分的規格稱 為xslt(xsl transformations),因為目前支援xml的瀏覽程式 並不多,所以xslt的角色就相當重要,xslt能夠將xml文件轉換 成其它文件的格式,換句話說,xml配合xslt就可以在支援html 的瀏覽程式顯示文件的內容。xslt
24、是如何運作xslt內容本身也是一份xml文件,xslt工作是將來源的xml 元素轉換成xslt元素,xslt並不是在顯示xml元素內容,只是將 xml元素轉換成其它文件的格式,所以通常並不稱它為樣式,而稱為 xslt script 語言。在作法上xslt處理器(xslt processor)是將xml文件依照 xslt script的程式碼產生轉換結果,這種程式碼和javascript或vbscript不同,屬於一種範本驅動(templatedriven )的script語xslt文件依元素的用途定義許多對應元素的範本,當xslt處理 器在xml文件發現符合條件的元素,就使用範本定義的內容,可
25、能是 一些html標籤,加上xml元素取出的內容,在過濾掉xml文件不 需要的部分來產生轉換結果,輸出的結果文件可能是另一份完全不同架 構的xml、html或xhtml檔案如下圖所示:簡單的說,其轉換過程是將xml文件轉換成一棵樹狀結構, xslt將一棵來源的xml樹,套用xslt轉換範本樹,使用xml path language找出修改的節點,在修改後產生出另一棵不同架構的樹狀結 構。6.xhtml(extensible hypertext markup language )規格是在2000年1月才正式通過,雖然規格比xml 1.0版還晚制定,事實上它 就是html 4.0x版以xml 1.
26、0語法重新制定的標籤語法,它就是一份 標準的xml文件。xhtml的目的是為了取代html 4.0版,目前的最新版本為2.0, 不過xhtml仍然是使用html 4.0版標籤,它是w3c制定用來取代 html 4.0版的下一個世代html。xhtml文件架構xhtml文件架構和html文件十分相似,只是在文件開頭使用 xml和doctype的宣告,其副檔名為.xhtml,或是和xml文件 一樣使用【xml】。編輯xhtml文件可以使用windows記事本或xml編輯工具,不 過因為使用w3c網址的dtd,所以一定需要建立internet連線,否則 無法下載xhtml的dtd來驗證文件內容。xh
27、tml 文件:ch2_4_2.xhtml在xhtml文件顯示一段文字內容。請啟動瀏覽程式,在瀏覽程式 的【網址】欄輸入下列url網址,如下所示:http :/localhost/ch02/ch2_4_2.xhtml上述url網址的localhost是指本機電腦,按|en血|鍵,稍等一 下,就可以看到xhtml文件顯示的網頁內容,如下圖所示::檔案® 編輯® 檢視电)我的最愛(4)工具 説明gdif g上-頁 q 冈団尙| q 搜尋我的最愛 ” :網址 閨 http :/localhosta:h02a2h2_4_2 .xhtml q 移至<?xml version=,1
28、.0,1 on coding 二”big5” ?><!doctype html (view source for full doctype.)>-<html xmlns=h/1999/xhtmr1>- <head>這是一 18 测試網頁 </title>j</head>- <body><p>»迎進入我的網頁</p></body></html>石倉完成近端內部網路上述圖例的internet explorer是以xml方式來顯示xh
29、tml文件,如果需要顯示成html文件內容,請刪除第1列的?xml . 宣告,例如:相同內容的ch2_4.xhtml 如下圖所示:程式內容01: <?xml version="1.0" encoding='big5n?>02: <!doctype html03:public "-/w3c/dtd xhtml 1.0 strict/enn04:” /tr/xhtml1/dtd/xhtml1-strict.dtd”>05: <html xmlns="/199
30、9/xhtmr>06:<head>07:<title>這是一個測試網頁</title>08: </head>09: <body>10:vp>歡迎進入我的網頁v/p>11: </body>12: </html>程式說明在xhtml文件擁有三個部分,如下所示:口 xml文件:在第1列宣告此為xml文件,如下所示:<?xml version=,1.0,' encoding="big5u?> doctype :第24列是dtd宣告,指出此文件為xhtml 1.0版 和使用
31、的dtd,如下所示:<!doctype htmlpublic u-/w3c/dtd xhtml 1.0 strict/en“ “/tr/xhtml1/dtd/xhtml1-strict.dtd”> html文件:第512列是一個html文件,在vhtml>標籤指定名 稱空間 /1999/xhtml 5 這是使用 xml 1.0 版的寫 法,如下所示:<html xmlns=h/1999/xhtml”><head><title>這是一個測試網頁&l
32、t;/title></head><body>vp>歡迎進入我的網頁v/p></body></html>7請參閱第2-4-4節的說明,簡單的說,xhtml文件比html文件 的標籤要求更加嚴格,必須遵循xml文件的撰寫規則,其注意事項, 如下所示:不可以省略結尾標籤。標籤和屬性都是使用小寫的英文字,例如:<p> ' <body>等。屬性值需要使用雙引號括起來。 name屬性使用id屬性取代。<?xml version='1.0" encoding=',big5,?&g
33、t;<!doctype htmlpublic w/w3c/dtd xhtml 1.0 strict/enh” /tr/xhtml1/dtd/xhtml-strict.dtcr> <html xmlns="/1999/xhtml"><head><title>ch2_1_1 .htm</title></head><body><b>from: </b>hueyan<br/> <b>to:
34、 </b>hueyantpts1 .tw<br/> <b>subject: v/b>測試郵件功能vbr/> vp>這是第一封郵件v/p></body></html>9.<ol><li>2-1 html 的基礎<li>2-2 html 標籤<li>2-3 xml 與 xslt 的基礎<li>2-4建立xhtml文件</ol>10.<table border="3"><tr><td>1 &
35、lt;/td><td>2</tdxtd>3</td> <td>4</td><td>5</tdxtd>6</td> <td>7</td></tr><tr><td>1 </td><td>2</tdxtd>3</td> <td>4</td><td>5</tdxtd>6</td> <td>7</td></t
36、r><tr><td>1 </td><td>2</tdxtd>3</td> <td>4</td><td>5</tdxtd>6</td> <td>7</td></tr><tr><td>1 </td><td>2</tdxtd>3</td> <td>4</td><td>5</tdxtd>6</td>
37、<td>7</td></tr><tr><td>1 </td><td>2</tdxtd>3</td> <td>4</td><td>5</tdxtd>6</td> <td>7</td></tr><tr><td>1 </td><td>2</tdxtd>3</td> <td>4</td><td>
38、5</tdxtd>6</td> <td>7</td></tr></table>第3章:java語法的jsp程式1. java語言是一種高階和物件導向程式語言,類似c+語言的編譯式 語言,不過並不完全相同,因為它是結合編譯和直譯優點的程式語言。現在讓我們來看看java程式語言的平台(platform),平台是 一種結合硬體和軟體的執行環境,簡單的說,電腦程式是在平台上執 行,因為java屬於一種與硬體無關和跨平台的程式語言,所以java平 台是一種軟體平台,主要是由jvm和java api兩個元件所組成。jvm (java
39、virtual machine)java編譯程式可以將java原始程式碼編譯成位元組碼 (bytecode ),這種程式碼是一種虛擬的機器語言,這台電腦稱為 r jvm(java virtual machine ) »換句話說,在作業系統需要安裝 jvm的直譯程式,才能夠直譯和執行位元組碼,如下圖所示:上述圖例的java原始程式碼(副檔名.java)在編譯成位元組碼(副 檔名.class )後,就可以在 windows、unix 或 machintosh 的 mac os 作 業系統上執行,只需作業系統安裝jvm直譯程式,同一個位元組碼檔 案,就可以跨平台在不同作業系統上正確的執行。
40、java api (java application programming interface)java api是軟體元件的集合,也就是在c/c+語言所謂的函式庫, 提供集合物件、gui元件、檔案處理、資料庫存取和網路等相關的類別 和介面,稱為套件(packages)。api是一種軟體的工具箱,java標準api是一個名為java的大型套 件,擁有多個子套件lang、awt和io等,每個子套件擁有許多類別,如 下圖所示:上述圖例是java套件架構,類似資料夾架構,只是分隔子元為 句點,子套件java.lang包含基本的math和string類別等,java.io包含 輸入和輸出 i/o (i
41、nput/output) j java.awt 是 java 的 gui 元件等。2. jsp程式架構是將程式碼內嵌於html標籤,jsp程式碼是使用腳 本語言(scripting language )語法撰寫的程式碼,以jsp技術來說, 因為屬於昇陽的伺服端網頁技術,預設是使用java程式語言作為jsp的 腳本語言。在jsp程式為了分辨html標籤與jsp程式,所以使用特定符號 的標籤來區分哪部分是html標籤,哪些部分是jsp程式碼,這些jsp 程式碼稱為jsp的腳本元素(scripting element),如下所示:<%>位在上述標籤符號之間的是jsp程式碼,html文件如
42、果擁有上述 符號的程式碼且副檔名為jsp,伺服端支援jsp容器的web伺服器就會 將這部分程式碼轉換成servlet程式,在編譯和執行後,產生html文 件送到客戶端瀏覽程式顯示。jsp腳本元素(scripting element)分為3種,如下所示:declarations 元素declarations宣告元素是腳本語言的變數、物件變數宣告或方法, declarations元素是位在下列符號之間的程式碼,如下所示:<%! %>上述宣告元素並不會產生任何輸出,如果腳本語言是java語言, declarations元素宣告的變數或方法會翻譯(translate)成servlet類別的
43、 實例變數或方法宣告。scriptlets 元素scriptlets元素可以在jsp程式插入任何合法腳本語言的程式碼片 斷'這是位在下列符號之間的java程式碼、如下所示:%><%在上述符號之間可以插入以java語言作為腳本語言的指定敘述、條件和迴等程式碼,在轉換成servlet程式後,這些程式碼是位在servlet 類別的jspservice()方法。expression 元素expression元素是一個插入腳本語言的運算式,在執行時會自動轉 換成字串資料態,這是位在下列符號之間的java程式碼,如下所示:v%=%>上述expression元素的運算式並不需要ja
44、va語言的結束符號。3. jsp程式碼是內嵌於html檔案中,當瀏覽程式向web伺服器請求 jsp程式時,伺服端支援jsp容器(jsp container )的web伺服器會先 將jsp程式碼翻譯成servlet,然後編譯和執行servlet輸出html標 籤,最後產生一份不含jsp程式碼的html文件,等到傳送到客戶端 後,在瀏覽程式顯示的就是這份純html標籤的網頁內容,如下圖所 示:客戶端伺服端(支援jsp的web伺服器)上述圖例在第1次請求jsp程式時,支援jsp的web伺服器會將 jsp程式碼翻譯成servlet程式碼,然後使用jdk編譯和執行servlet, 以便回應http請求。
45、當第2次之後請求同一頁jsp程式,就是直接執 行已經編譯成servlet程式的class類別檔。4. 第1次請求jsp程式時,支援jsp的web伺服器會將更程式碼翻 譯成servlet程式碼,然後使用jdk編譯和執行來回應http請求。當 第2次之後請求同一頁jsp程式,就是直接執行已經編譯成servlet程式 的class類別檔。5. 在java程式中需要替變數、類別和函數等很多元素命名,程式設計 者在替這些元素命名時,需要遵循程式語言的語法,java的命名語法, 如下所示:口名稱是一個合法的識別字(identifier),識別字是使用英文字母 開頭,不限長度的unicode統一字碼字元的字
46、串,包含字母、數字 和底線二"。例如:一些合法的名稱範例,如下所示:t, n, size, z100, long_name, helloword, test, apple口名稱區分英文字母的大小寫,例如:apple、apple和apple屬於不 同變數。名稱不能使用java語法的關鍵字(keyword)、保留字的布林 值true或false和null,java的關鍵字(這些是程式指令)如下表所 示:abstractbooleanbreakbytecasecatchcharclassconstcontinuedefaultdodoubleelseextendsfinalfinallyf
47、loatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnshortstaticstrictfpsuperswitchsynchronizedthisthrowthrowstransienttryvoidvolatilewhile名稱在範圍(scope)中必需是唯一的,例如:在程式中可以 使用相同的變數名稱,不過各變數名稱需要在不同的範圍。6java變數的目的是儲存程式執行中的一些暫存資料,程式設計者只 需記住變數名稱,而且知道名稱表示一個記憶體位置中的資
48、料,至於這 個記憶體位置到底有哪裡?並不用傷腦筋,因為這是編譯程式的工作。變數的宣告java整數變數宣告的範例,如下所示:int score;上述程式碼宣告1個整數變數,資料型態為整數int,名稱為 score,如果需要同時宣告多個變數,請使用丁號分隔,如下所示:int i, j, k;上述程式碼在同一列宣告3個整數變數i、j和k。變數宣告單純只 是表示保留記憶體空間,至於儲存的資料是什麼?可以在宣告時指定初 始值,或是使用指定敘述在程式碼設定變數值。在java宣告變數且指定 變數初值,如下所示:int score = 85;int i = 20;上述程式碼宣告2個變數且指定變數的初值。常數的
49、宣告常數(named constants )是指一個變數在設定初始值後,就不 會變更其值,簡單的說,就是在程式屮使用一個名稱代表一個固定值。java的常數宣告和指定初值的變數宣告相同,只需在前面使用final 關鍵字,如下所示:final double pi = 3.1415926;上述程式碼宣告圓周率的常數pi。請注意!在宣告常數時一定要指 定常數值。7. float、boolean zero、lastvalue、year2006、team、i、j9java的資料型態分為基本(primitive)和參考(reference) 兩種資料型態,如下所示: 基本資料型態:java 變數擁有 byt
50、e ' short、int、long、float、 double、char和boolean 一共8種資料型態。參考資料型態:java的類別就是一種參考資料型態,其建立的物件 變數值是記憶體位置,參考到物件儲存的位置。例如:string、 stringbuffer、character和number類別建立的物件就屬於參考資料 型態。10. java的流程控制可以配合條件判斷來執行不同區塊的程式碼'或是重複執行指定區塊的程式碼,流程控制指令可以分為兩類,如下所示:條件控制:條件控制是一個選擇題,可能是單一選擇或多選一,依 照條件運算子的結果,決定執行哪一個區塊的程式碼。迴圈控制:迴
51、圈控制可以重複執行區塊的程式碼,其中擁有結束條 件,結束迴圈的執行。java程式的多選一條件敘述是依照一個條件判斷來執行多個程式區 塊其中之一的程式碼,在java提供2種方法達成相同功能,如下所示:if/else多選一條件敘述在java程式可以重複使用if/else條件建立多選一的條件敘述,例 如:使用年齡判斷搭乘公車的乘客票價是學生、普通或敬老票,如下所 示:if ( age <= 18 )out.print(h學生票:12 元<br>h);elseif ( age >= 65 )out.print("敬老票:8 元<br>h);elseout.
52、print(m普通票:15 元<br>n);上述程式碼使用if/else條件,每一次判斷一個條件,如果為false 就重複使用if/else條件再進行下一次的判斷。switch多選一條件敘述java的switch多條件敘述是依照符合的條件執行不同程式區塊的程 式碼,例如:學生成績是使用gpa的a、b、c、d來打成績,我們可 以使用switch條件敘述來顯示轉換的成績範圍,如下所示:switch (grade) case 'a':out.print(”學生成績超過80分<br>h);break;case 'b':out.print(m學生成
53、績為 70-79 分vbr>“);break;case c:out.println(”學生成績為 60-69 分vbr>”); break;default:out.println(”學生成績低於 60 分<br>h);do/while 迴圈11« array、string12.<html><head><title> 巢狀迴圈 </title></head><body><table border=',1"><%inti, j;顯示表格的標題列out.pri
54、nt("<tr><td>*</td>,);for (i = 1; i <= 9; i+ ) out.print("<tdxb>" +l+”v/b>v/td>”); out.print("</tr>h);/巢狀迥圈for (i = 1; i <= 9; i+ ) out.print(,<tr>m); out.print(,<td><b>h + i + "</b></td>k); j = 1 ;while
55、(j <= 9 ) out.print("<td>"); out.print(i + j + "=" + i*j);out.print(h</td>h);j+; out.print(” v/tr>”);%></table></body></html>第4章:jsp元素與隱含物件1. jsp程式檔案的內容主要分為html標籤的範本本文和jsp元素兩大部分,如下所示:口範本本文(template text):這部分是直接送到客戶端瀏覽程式顯 示的資料,主要是指靜態網頁内容的html
56、標籤或一般文字內容, 用來作為網頁内容的範本(因為我們是在html標籤中插入動態顯 示的jsp元素)。o jsp元素(jsp elements ) : jsp元素是jsp容器需要處理或翻譯成 servlet程式碼的部分,可以分為腳本元素(scripting elements )、指 引元素(directive elements )和動作元素(action elements )三種。2. 腳本元素(scripting elements )、指引元素(directive elements )和動作元素(action elements)expression 禾u scriptlets 元素decla
57、rations 元素3declarations元素宣告的變數:servlet實例的全域變數,所有提出請 求同一頁jsp程式的每位使用者都可以存取這些變數。scriptlets元素宣 告的變數:spservice()方法的區域變數,只有請求jsp程式的這位使用 者可以存取此變數。4. contenttype 和 import 屬性5jsp的動作元素在jsp 2.0版新增到二十多個,依版本和功能可以分 為數種,如下所示:標準動作元素(standard action elements)標準動作元素是jsp 1.2版就存在的動作元素,如下表所示:<jsp:usebean><jsp:
58、setproperty ><j sp: getproperty ><jsp:include><jsp:param><jsp:forward><jsp:plugin><jsp:params><jsp:fallback>上表的<jsp:usebean>、<jsp:setproperty>f <jsp:getproperty> 存取 javabeans 元件 ° <jsp:plugin>、vjsp:fallback>vjsp:panims>元
59、素可 以在瀏覽程式的html文件插入applet或javabeans。jsp文件(jsp document)的動作元素jsp文件的動作元素是用來建立xml格式的jsp程式,這是使用 xhtml和jsp元素所建立的jsp程式,其包含的動作元素,如下表所 示:<jsp:directive.page><jsp:directive.include><jsp:scriptlet><jsp:declaration><jsp:expression><jsp:root><jsp:text><jsp:output>&
60、lt;jsp:element><jsp:attribute><jsp:body>上表的vjsp:output、jsp:element、jsp:attribute禾口vjsp:body是jsp 2.0新增的動作元素,詳細的說明請參閱第13章。標籤檔(tmg file)的動作元素標籤檔的動作元素是只能在標籤檔使用的動作元素,這也是jsp2.0版新增的元素,詳細的說明請參閱第14章,如下表所示:jsp:invokejsp:dobody6. jsp:include動作元素是在jsp程式的執行階段插入檔案,我們可以將它視為是再將http請求轉址到其它html文件或jsp程式
61、,如下 所示:客戶端伺服端上述圖例的客戶端提出http請求ch4_3_2.jsp的jsp程式,jsp 程式使用jsp:include動作元素將http請求轉址到included.jsp (傳遞2 個參數)和copyrightjsp,然後將這2個jsp程式的http回應整合到 ch4_3_2.jsp的回應訊息,最後一齊http回應到客戶端。<jsp:forward>動作元素可以將網頁請求轉址到其它html文件或 jsp程式,也就是任何合法的url網址。7. <jsp:plugin>、<jsp:usebean>.jsp隱含物件的變數名稱和對應的類別與介面說明,如下表所示:變數對應的類別與介面說明applicationjavas. servlet.s ervletcontext取得伺服器的系統環境 變數和建立所有使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位保密教育培训
- 人教版三年级语文下册教案全集
- 【初中物理】物态变化单元练习2024-2025学年人教版物理八年级上册
- 成品油零售经营批准证书变更、补办、到期换证申请表
- 职业学院游艇设计与制造专业人才培养方案
- 升降机操作装置产业深度调研及未来发展现状趋势
- 保险信息行业市场调研分析报告
- 婴儿用驱蚊贴市场发展预测和趋势分析
- 单板滑雪服市场发展预测和趋势分析
- 振动按摩器产业链招商引资的调研报告
- 高中通用技术-模拟综合练习卷-粤教版必修
- 传统文化创新:以新视角看世界文化
- 英文医学论文写作知到章节答案智慧树2023年山东中医药大学
- 医学统计学(南昌大学)智慧树知到答案章节测试2023年
- 光电子技术课件第四章 光探测(下)
- 木屋工程施工组织设计(完整版)资料
- 专业技术职务聘任表(2017年版)
- 2022年10月西藏昌都市招考大学生村(居)乡村振兴专干、科技专干、医务人员、农业农村工作专员和乡村幼教人员笔试参考题库含答案解析
- ISO20000认证-ISO20000差距分析报告
- GB/T 42195-2022老年人能力评估规范
- GB/T 4909.4-2009裸电线试验方法第4部分:扭转试验
评论
0/150
提交评论