1 / 49

JSP 2.0 網頁設計範例教本

JSP 2.0 網頁設計範例教本. 課程名稱: _____________ 指導教授: _____________. 目錄 -I. 第 1 章: JSP 基礎與開發環境的建立 第 2 章: HTML 、 XML 和 XHTML 實務 第 3 章: Java 語法的 JSP 程式 第 4 章: JSP 元素與隱含物件 ( Implicit Object ) 第 5 章: JSP 的運算式語言 ( Expression Language ) 第 6 章: JSTL 標籤建立 JSP 程式

vida
Download Presentation

JSP 2.0 網頁設計範例教本

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JSP 2.0網頁設計範例教本 課程名稱:_____________ 指導教授:_____________

  2. 目錄-I • 第1章: JSP基礎與開發環境的建立 • 第2章: HTML、XML和XHTML實務 • 第3章: Java語法的JSP程式 • 第4章: JSP元素與隱含物件 (Implicit Object) • 第5章: JSP的運算式語言 (Expression Language) • 第6章: JSTL標籤建立JSP程式 • 第7章: JSP的表單處理與Cookie

  3. 目錄-II • 第8章: JSP的Web應用程式與交談期追蹤 • 第9章: JSP的例外與錯誤處理 • 第10章: Servlet、過濾器與JavaBeans • 第11章: JSP與JDBC建立網頁資料庫 • 第12章: JSP的檔案與電子郵件處理 • 第13章: JSP與XML和XSLT • 第14章: JSP的自訂標籤與標籤檔 (Tag File) • 第15章: JSP與網頁資料庫實例探討

  4. 第1章 JSP基礎與開發環境的建立 • 1-1 Web應用程式的基礎 • 1-2 Java的網頁技術 • 1-3 JSP的開發環境建立 • 1-4 JSP程式的開發工具 • 1-5 在IIS建立JSP開發環境

  5. 1-1 Web應用程式的基礎 • 1-1-1 WWW的基礎 • 1-1-2 HTTP通訊協定 • 1-1-3 Web應用程式

  6. 1-1-1 WWW的基礎-說明 • 「WWW」(World Wide Web,簡稱Web)全球資訊網是1989年歐洲高能粒子協會一個研究小組開發的Internet服務,Web能夠在網路上傳送圖片、文字、影像和聲音等多媒體資料,這是由Tim Berners Lee領導的小組開發的主從架構和分散式網路服務系統。

  7. 1-1-1 WWW的基礎-名詞

  8. 1-1-1 WWW的基礎-圖例

  9. 1-1-2 HTTP通訊協定-說明 • HTTP通訊協定(Hypertext Transfer Protocol)是一種在伺服端(Server)和客戶端(Client)之間傳送檔案的通訊協定,目前的版本是1.1版,如下圖所示:

  10. 1-1-2 HTTP通訊協定-過程 • HTTP通訊協定的應用程式是一種主從架構(Client-Server Architecture)應用程式,在客戶端使用URL(Uniform Resource Locator)指定連線的伺服端資源,在其間傳送HTTP訊息(HTTP Message)來進行溝通,以便請求指定的檔案,其過程如下所示: • Step 1:客戶端要求連線伺服端。 • Step 2:伺服端允許客戶端的連線。 • Step 3:客戶端送出HTTP請求訊息,內含GET指令請求取得伺服端的指定檔案。 • Step 4:伺服端以HTTP回應訊息來回應客戶端的請求,傳回訊息包含請求的檔案內容。

  11. 1-1-2 HTTP通訊協定-HTTP請求訊息 GET /path/file.htm HTTP/1.1 Host: www.host.com Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg…. Accept-Language: zh-tw Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1) Connection: Keep-Alive

  12. 1-1-2 HTTP通訊協定-HTTP回應訊息 HTTP/1.1 200 OK Date: Mon, 12 Oct 2004 19:12:16 GMT Server: Apache/1.3.12(Unix) Debian/GNU mod_perl/1.24 Connection: Close Content-Type: text/html Content-Length: 1345 <html> <body> <h1>…..</h1> …………… </body> </html>

  13. 1-1-3 Web應用程式-說明 • Web應用程式(Web Application)簡單的說是一組網頁(包含HTML文件、圖片和相關伺服端網頁技術的程式檔案)的集合,應用程式可以回應使用者的請求,與使用者進行互動。目前Internet擁有多種不同類型的Web應用程式,例如:網路銀行、電子商務網站、搜尋引擎、網路商店、拍賣網站和電子公共論壇等。

  14. 1-1-3 Web應用程式-圖例

  15. 1-2 Java的網頁技術 • 1-2-1 Java Applet • 1-2-2 Java Servlet • 1-2-3 JSP • 1-2-4 Java的Web應用程式架構

  16. 1-2-1 Java Applet-說明 • Java Applet是在瀏覽程式執行的小程式,事實上,它並不能算是一個完整的Java應用程式,Java Applet是一個繼承java.applet.Applet類別的物件,如下所示: import java.applet.Applet; import java.awt.Graphics; public class Ch1_2_1 extends Applet { public void paint(Graphics g) { g.drawString("一個簡單的Java Applet", 50, 25); } }

  17. 1-2-1 Java Applet-執行過程 • Java Applet繼承Applet類別,因為並不是完整的Java應用程式,所以不能直接在作業系統執行,而是透過其它程式來執行,例如:使用瀏覽程式執行Java Applet,如果瀏覽程式支援JVM或安裝JRE,就可以執行Java Applet,如下圖所示:

  18. 1-2-2 Java Servlet-說明 • Java Servlet簡稱Servlet,這是昇陽取代CGI的網頁技術,「CGI」(Common Gateway Interface)共通匣道介面提供Web伺服器執行外部程式的管道,Servlet的主要目的就是在擴充Web伺服器功能,另一個用途是搭配JSP技術來建立動態網頁內容,目前的版本是2.4。 • Servlet是Java技術的標準擴充,Java Servlet API是Servlet程式所需的類別函式庫,一共有javax.servlet和javax.servlet.http兩個套件,其最主要的功能是處理客戶端使用者的HTTP請求。

  19. 1-2-2 Java Servlet-範例 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Ch1_2_2 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=Big5"); request.setCharacterEncoding("Big5"); PrintWriter out = response.getWriter(); if ( validOrder(request) ) { saveOrder(request); out.println("<html>"); ………… out.println("</body></html>"); } } private boolean validOrder(HttpServletRequest request) { …… } private void saveOrder(HttpServletRequest request) { …… } }

  20. 1-2-2 Java Servlet-執行過程 • Servlet的執行是由Web伺服器的「Servlet容器/引擎」(Servlet Container/Engine)所控制,Servlet容器載入Servlet、執行Servlet接受請求和刪除Servlet的過程,如下圖所示:

  21. 1-2-2 Java Servlet-相關方法

  22. 1-2-3 JSP-說明 • 「JSP」(JavaServer Pages)屬於伺服端網頁技術,目前的版本是2.0,所謂伺服端網頁技術,簡單的說,程式是在Web伺服器上執行,而不是在客戶端瀏覽程式,目前常用的伺服端網頁技術有:CGI、ASP、ASP.NET、JSP和PHP。 • JSP和Servlet技術擁有密切關係,其主要差異在於Servlet是讓程式設計者開發Web伺服器的擴充功能和建立Web應用程式處理流程的控制程式,而JSP技術主要是讓網頁設計者能夠輕鬆建立動態網頁內容,換句話說,我們可以將Java網頁技術Servlet分割成程式設計者建立的Servlet和網頁設計者使用的JSP 。

  23. 1-2-3 JSP-圖例

  24. 1-2-3 JSP-特點1 • 與瀏覽程式無關的網頁技術:JSP程式回應客戶端瀏覽程式顯示的內容仍是標準HTML文件,所以,不論使用Netscape或Internet Explorer瀏覽程式都可以正確顯示網頁內容。 • 跨平台和Web伺服器的網頁技術:JSP技術支援多種作業系統Windows、Unix和Linux,不同的Web伺服器Apache、IIS等,換句話說,只需寫一次JSP程式,就可以在不同環境下執行。 • 建立多層架構的Web應用程式:JSP技術可以搭配其它Java網頁技術,建立多層應用程式架構,詳細的說明請參閱第1-2-4節。

  25. 1-2-3 JSP-特點2 • 動態產生多種不同的網頁格式:JSP技術可以依客戶端應用程式產生不同的網頁格式,Web瀏覽程式的HTML/DHTML/XHTML格式、PDA的WML格式或XML格式。 • 比Servlet更容易的Java網頁技術:Servlet程式的開發者需要精通Java物件導向程式設計,JSP可以視為一種更高階的Servlet,不但能夠作到Servlet所能作到的幾乎所有功能,而且只需網頁設計者就可以輕鬆使用JSP技術。 • JSTL標籤和EL:JSP技術的JSTL標籤和EL可以如同撰寫HTML標籤一般的建立JSP程式,就算從來沒有學過Java語言,也一樣可以使用JSP技術來建立動態網頁內容。

  26. 1-2-4 Java的Web應用程式架構-圖例 • Java的Web應用程式架構是結合Servlet、JSP技術和JavaBeans元件的三層架構,如下圖:

  27. 1-2-4 Java的Web應用程式架構- MVC設計模型 • 上一頁圖例的虛線框是使用「MVC設計模型」(Model-View-Controller Design Pattern)建立的Web應用程式架構。 • MVC設計模型是1980年由Xerox所提出的應用程式架構,將應用程式分成三層View、Controller和Model 。

  28. 1-2-4 Java的Web應用程式架構-三層說明 • 展示層(Presentation Layer):展示層是與使用者互動的使用者介面,這是在客戶端瀏覽程式實際看到的顯示結果或表單介面,我們可以使用HTML、Java Applet或JSP程式來產生展示層的使用者介面,或顯示Web應用程式的執行結果,即MVC設計模型(Model-View-Control Design Pattern)的View。 • 控制層(Control Layer):控制層是用來連結展示層和商業邏輯層,以Servlet或JSP作為控制層來控制應用程式的執行,即作為控制資料處理流程的控制者Controller,負責接收使用者的HTTP請求。 • 商業邏輯層(Business Logic Layer):商業邏輯層負責Web應用程式的資料存取和處理,即Model,我們可以使用JavaBeans和JSP來建立商業邏輯層,存取和處理儲存在資料庫、文字檔案和XML檔案中的資料。

  29. 1-2-4 Java的Web應用程式架構- Model 1 Type 1 • Model 1 Type 1適合小型Web應用程式的開發,這是一種純粹使用JSP程式來建立展示層、控制層和商業邏輯層的三層架構,如下圖所示:

  30. 1-2-4 Java的Web應用程式架構- Model 1 Type 2 • Model 1 Type 2也適合小型Web應用程式的開發,這是使用JSP程式建立展示層和控制層,JavaBeans建立商業邏輯層,如下圖所示:

  31. 1-2-4 Java的Web應用程式架構- Model 2 • Model 2適用在大型Web應用程式的開發,使用JSP建立展示層View,Servlet作為控制層來控制應用程式的執行的Controller,JavaBeans負責商業邏輯層的資料存取和處理,即Model,如下圖所示:

  32. 1-3 JSP的開發環境建立 • 1-3-1 JDK的下載與安裝 • 1-3-2 Resin伺服器的下載和安裝 • 1-3-3 啟動與測試Resin伺服器 • 1-3-4 停止與關閉Resin伺服器

  33. 1-3 JSP的開發環境建立 • JSP技術是一種伺服端網頁技術,所以其開發環境也是一種主從架構的開發環境,如右圖所示:

  34. 1-3-1 JDK的下載與安裝 • JDK可以從昇陽網站免費下載,目前最新版本是5.0版,其內部版本為1.5.0版,網址為:http://java.sun.com/j2se/。 • 在安裝好JDK後,我們需要設定JDK執行環境,即在Windows XP新增環境變數Path的搜尋路徑「C:\Program Files\Java\jdk1.5.0\bin」,其中C:\Program Files\Java\jdk1.5.0\是JDK的安裝路徑。

  35. 1-3-2 Resin伺服器的下載和安裝-說明1 • JSP程式需要支援JSP的Web伺服器才能夠執行,稱為JSP容器(JSP Container)。目前巿面上有多套應用程式或伺服器,可以讓Apache和IIS等Web伺服器執行Servlet/JSP程式,一般來說,支援Servlet容器就一定支援JSP容器,如下所示: • Tomcat:http://jakarta.apache.org/tomcat/index.html。 • JRun:http://www.macromedia.com。 • Resin:http://www.caucho.com。 • ServletExec:http://www.newatlanta.com。

  36. 1-3-2 Resin伺服器的下載和安裝-說明2 • Resin伺服器是Caucho Technology開發的Servlet和JSP容器,其本身就是一套支援HTTP 1.1的快速Web伺服器和Servlet/JSP容器,可以獨立運作來支援Java網頁技術的Web應用程式,也可以搭配其它Web伺服器,例如:IIS,讓Web伺服器IIS也能夠開發和執行Servlet/JSP程式。 • Resin伺服器在3.0版支援Java Servlet 2.4和JSP 2.0版,提供負載平衡(Load Balancing)增加系統可靠度,並且可以使用Servlet過濾(Servlet Filtering)功能來轉換XSL和XML,建立客戶端輸出的HTML、WAP或XML內容。

  37. 1-3-2 Resin伺服器的下載和安裝-下載與安裝 • 下載Resin伺服器 • Resin伺服器目前的版本是 3.0版,在書附光碟提供resin-3.0.9.zip的ZIP格式壓縮檔,其下載網址,如下所示: • 下載Resin:http://www.caucho.com/download/index.xtp • 安裝Resin伺服器 • 安裝Resin伺服器只需使用WinZIP或Windows XP的解壓縮精靈等工具即可解開ZIP格式的壓縮檔,以本書為例是解壓縮到硬碟根目錄C:,預設的安裝路徑為:「C:\resin-3.0.9\」。

  38. 1-3-3 啟動與測試Resin伺服器 • Resin伺服器本身是一套可以在Windows作業系統下獨立執行的Web伺服器,在解壓縮檔案安裝好Resin伺服器後,就可以啟動Resin伺服器,建立JSP技術的開發和執行環境。 • 在啟動Resin伺服器後,我們就可以啟動Internet Explorer瀏覽程式測試伺服器是否成功啟動,請在瀏覽程式的【網址】欄輸入下列URL網址,如下所示: http://localhost:8080/ • 上述URL網址的localhost是指本機電腦,預設埠號為8080,按Enter鍵,稍等一下,就可以看到網頁內容。

  39. 1-3-4 停止與關閉Resin伺服器 • 停止Resin的Web伺服器是在「Resin」視窗選【Stop】選項,如此即可停止Resin的Web伺服器執行,按【Quit】鈕,就可以離開Resin伺服器。

  40. 1-4 JSP程式的開發工具 • 1-4-1 記事本 • 1-4-2 Gel中文介面開發工具

  41. 1-4-1 記事本 • Windows作業系統的記事本就可以編輯JSP原始程式碼,在Windows XP請執行「開始/所有程式/附屬應用程式/記事本」指令啟動記事本,如下圖所示:

  42. 1-4-2 Gel中文介面開發工具-說明 • Gel是原生Windows介面使用Delphi開發的Java/JSP IDE,而不是使用Java語言,所以尺寸非常小、佔用記憶體少且執行速度快。Gel擁有強大功能,提供中文使用介面、語法標示、程式碼自動完成、參數提示和專案管理功能,其下載網址:http://www.gexperts.com/download.html。

  43. 1-4-2 Gel中文介面開發工具-圖例

  44. 1-5 在IIS建立JSP開發環境 • 1-5-1 建立IIS的JSP開發環境 • 1-5-2 部署Resin成為Windows系統服務 • 1-5-3 在IIS安裝本書的JSP範例程式

  45. 1-5 在IIS建立JSP開發環境 • Resin的Serlet/JSP容器可以搭配微軟IIS的Web伺服器,讓IIS也能夠支援JSP,成為JSP開發和執行環境,其分工為IIS負責處理HTML和圖片檔案,Resin處理JSP和Servlet程式,如下圖:

  46. 1-5-1 建立IIS的JSP開發環境 • Resin提供setup程式可以幫助我們執行IIS和Resin的環境設定,其步驟如下所示: • Step 1:停止IIS伺服器的Internet服務 • Step 2:設定IIS和Resin伺服器 • Step 3:新增【預設的網站】的虛擬目錄 • Step 4:修改Resin的resin.conf檔案 • Step 5:測試IIS的JSP開發環境

  47. 1-5-2 部署Resin成為Windows系統服務 • IIS建立的JSP開發環境需要先啟動Resin伺服器,我們可以將Resin伺服器安裝成為Windows系統服務,在啟動Windows作業系統時,就同時啟動Resin。 • 請開啟命令提示字元視窗,輸入下列指令來將Resin設為系統服務,如下所示: C:\>resin-3.0.9\httpd -install Enter

  48. 1-5-3 在IIS安裝本書的JSP範例程式-1 • 在書附光碟已經提供本書各章節的JSP範例程式,這是在IIS+Resin開發環境建立的JSP程式,其安裝步驟如下所示: • Step 1:在IIS安裝JSP開發環境。 • Step 2:將書附光碟的「wwwroot」資料夾下的所有檔案複製到「C:/inetpub/wwwroot」資料夾。

  49. 1-5-3 在IIS安裝本書的JSP範例程式-2 • Step 3:將書附光碟「Ch01」資料夾下的resin.conf檔案複製到「C:\resin-3.0.9\conf」資料夾,在resin.conf檔案設定各章節資料夾的Web應用程式,如下所示: <web-app id='/Ch04' document-directory='c:/inetpub/wwwroot/ch04'/> …………. <web-app id='/Ch14' document-directory='c:/inetpub/wwwroot/ch14'/> <web-app id='/Ch15' document-directory='c:/inetpub/wwwroot/ch15'/> • Step 4:重新啟動Resin或重新開機讓Web應用程式的設定生效。

More Related