第 15 章 Servlet 程式設計 Java 2 程式設計入門與應用. 2 目錄 15-1 Servlet 的簡介 15-1 Servlet 的簡介 15-2 建立 Servlet 程式 15-2 建立 Servlet 程式 溫故知新 自我突破習題.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
網際網路資料庫連結 2004 Php Web Programming. 上完這段課程,你將學會  一般靜態網頁與互動式網頁的區別。  網際網路上大量資料的存取。  資料庫的角色與功能。  Web Server 的角色與功能。  網際網路資料庫的應用。  基本的程式寫作技巧及網頁的應用。
Divide-and-Conquer. 什麼是 divide-and-conquer ? Divide 就是把問題分割 Conquer 則是把答案結合起來.
6-1 指標簡介 6-2 指標與陣列 6-3 動態配置記憶體 6-4 本章綜合練習
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第 10 章 Java 的執行緒 10-1 執行緒的基礎 10-2 Java 執行緒的使用方法 10-3 Java 執行緒的同步 10-4 管道串流的執行緒.
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
在 Ad-hoc 網路中實現點對 點發送訊息與廣播訊息. 檔案下載  範例程式可在下列網址取得  DEMO 程式可在下列網址取得
1 第一章 Word 的基本觀念 內容概要: Word 的特色 啟動與離開 Word 的方法 滑鼠游標與外型的介紹 基本操作 Word 視窗法則 使用 Word 遭遇問題時, 應如何利用軟體特 性而獲得輔助解說.
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
Review of Chapter 3 - 已學過的 rules( 回顧 )- 朝陽科技大學 資訊管理系 李麗華 教授.
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
MATLAB 程式設計 第 11 章 多維陣列 多維陣列的定義 在 MATLAB 的資料型態中,向量可視為 一維陣列,矩陣可視二維陣列,對於維 度 (Dimensions) 超過 1 的陣列則均可視 為「多維陣列」 (Multidimesional Arrays , 簡稱 N-D Arrays)
各種線上電子資源的特異功能 STICnet 的 SDI 專題訂閱服務 2003/4/28 修改. 無論校內外皆可使用。連線至
第 18 章 名稱空間與例外處理 18-1 名稱空間 18-1 名稱空間 18-2 例外處理 18-2 例外處理.
Web Meeting 使用教學 ─ 學生版.  如何即時線上與老師互動? 一. 瀏覽太御科技首頁 二. 安裝 JoinNet 在首頁的左手邊 1. 下載 JoinNet 進行安裝 JoinNet.
1 網路同步學習 如何使用中山大學管理學院知識管理平台 愷中 製作. 2 如何登入中山大學網路學習平台 1. 首先, 請輸入 2. 點選申請帳號, 依照螢幕所示, 輸入個人資訊.
Department of Air-conditioning and Refrigeration Engineering/ National Taipei University of Technology 模糊控制設計使用 MATLAB 李達生.
資訊科技概論 第5章 系統程式.
1 單元三 查詢結果的引用分析 Web of Science 利用指引 查看出版及被引用情況 在查詢結果的清單中,可以瀏覽近 20 年來查詢主題出版和被引用的情況。
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
JDK 的安裝. 內 容 大 綱 JDK 安裝步驟 JDK 的主要工具程式 說明 Java 語言發展工具組 JDK(Java Development Kit) 的安裝與工具組中的主要工具程式。 JDK 是發展 Java 語言必備的工具,我們必須正確的安裝 JDK 工具組才可以正確的設計、開發與執行.
第 9 章 視窗應用程式的事件處理 9-1 事件的基礎 9-1 事件的基礎 9-2 表單事件 9-2 表單事件 9-3 滑鼠事件 9-3 滑鼠事件 9-4 鍵盤事件 9-4 鍵盤事件 9-5 表單的鍵盤事件 9-5 表單的鍵盤事件 9-6 控制項的事件 9-6 控制項的事件.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
第 5 章 深入 Response 物件 製作. 網頁的轉向與強制輸出 - 讓網頁轉彎的 Redirect 敘述 運用 Response 物件的 Redirect 方法,將瀏覽器顯 示的網頁,導向至其他網頁,語法如下: Response.Redirect 網頁路徑與名稱 此網頁路徑與名稱  若是導向到同一台.
24-6 設定開始與結束場景中的 程式 最後我們要替這個遊戲收個尾, 幫它把開始 的等待畫面跟結束畫面處理一下。
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
第12章 建立多表單與模組的應用程式 12-1 Visual Basic的方案與專案 12-2 模組化Visual Basic應用程式
1 MySQL 資料庫的使用 網頁資料庫的基礎 網頁資料庫的基礎 下載與安裝 MySQL 下載與安裝 MySQL 啟動 MySQL 伺服器 啟動 MySQL 伺服器 Web 介面的 MySQL 管理程式 Web 介面的 MySQL 管理程式 MySQL 建立資料庫 MySQL 建立資料庫 在 MySQL.
行政院國家科學委員會工程技術發展處自動化學門 * 試以國立成功大學製造工程研究所 鄭芳田教授 產學合作計畫 : 智慧預測保養系統之設計與實作 成果報告盤點為範例 國科會工程處專題計畫成果典藏 自動化學門成果報告盤點範例.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
校外使用圖書館購置之資料庫 龍華大學圖書館. 讀者遠端認證 (RPA) 設定說明  透過圖書館架設完成的 RPA (Remote Patron Authentication) 讀者遠端認證代理主 機系統,讀者於校外或院外 可直接連線使 用本館所提供的資料庫。  若非使用本館電子資料,請勿設定此代理.
教材名稱:網際網路安全之技術及其應用 (編號: 41 ) 計畫主持人:胡毓忠 副教授 聯絡電話: 教材網址: 執行單位: 政治大學資訊科學系.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
Chapter 17 Windows API 程式入門 VC++ 與 WindowsVC++ 與 Windows 建構遊戲設計的舞台 建構遊戲設計的舞台.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
MinGW 的安裝.
Management Abstracts Retrieval System; MARS 檢索操作.
函式 Function Part.2 東海大學物理系‧資訊教育 施奇廷. 遞迴( Recursion ) 函式可以「呼叫自己」,這種動作稱為 「遞迴」 此程式的執行結果相當於陷入無窮迴圈, 無法停止(只能按 Ctrl-C ) 這給我們一個暗示:函式的遞迴呼叫可以 達到部分迴圈的效果.
2010 MCML introduction 製作日期: 2010/9/10 製作人 : 胡名霞.
Chapter 10 m-way 搜尋樹與B-Tree
第12章 多重表單與模組的應用程式 12-1 VB.NET的方案與專案 12-2 模組化VB.NET應用程式 12-3 多重表單的應用程式
簡易的 JBoss 安裝與部署. 安裝 Step 1 下載 J2SE JDK 5.O 並安裝 下載 JBoss 並解壓縮 (.zip 檔 )
演算法課程 (Algorithms) 國立聯合大學 資訊管理學系 陳士杰老師 Course 7 貪婪法則 Greedy Approach.
PHP+mySQL. 一、何謂 PHP? PHP 的全名為 Hypertext Preprocessor ,它是個被廣泛運 用在網頁程式撰寫的語言,尤其是它能適用於網頁程式的 開發及能夠嵌入 HTML 文件之中,它的語法和 C 、 Java 及 Perl 等語法相似。 PHP 的目的是為了能使網站開發者可以.
網路介紹及其運用 講師陳炯勳. 5-2 IP 協定 ( 一 ) IP 協定運作 (1) – 網路成員:主機 (Host) 與路由器 (Router) – 路由表 – 電報傳輸運作.
概念性產品企劃書 呂學儒 李政翰.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
1 第二十章 大型程式的發展 使用名稱空間 熟悉大型程式的開發方式 條件式編譯指令的撰寫. 2 名稱空間 名稱空間就像是一個管理介面,可以將定義的識別 字放在名稱空間之下,而不會有相互衝突的發生 名稱空間的語法如下 把變數 var 放在名稱空間 name1 內 要存取使用名稱空 間 name1 的變數.
SQL 進階查詢.
多媒體概論課程講義 多媒體概論 講師 :Meimei 全球資訊網工具. 大綱 網站伺服器 1 網頁瀏覽器 2 網頁製作者和網站建置者 3 外掛程式和發佈工具 4 HTML 以外 5.
1 EndNote 金珊資訊有限公司 2 EndNote X2 新功能 新增標籤 (Tab) 視窗 線上查詢群組 智慧群組 (Smart Groups) 新增參考文獻類型 查詢全文 標示日期 以電子郵件傳送壓縮的 Library 檔案 Library.
著作權所有 © 旗標出版股份有限公司 第 3 章 資料庫物件的關係. 本章提要 Access 資料庫物件的關係 Access 資料庫物件的關係 簡介 Access 的七大物件 簡介 Access 的七大物件 Access 的群組 Access 的群組.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
-Artificial Neural Network- Matlab操作介紹 -以類神經網路BPN Model為例
Visual C++重點複習.
OmniFile Full Text 系列資料庫 個人化服務設定步驟. 此相關資料庫之個人化服 務只提供類似專題選粹的 服務,然無提供 mail 通知的 服務,讀者可建立個人 ID , 並儲存檢索策略,日後需 再進入該資料庫,查詢檢 索策略之新進文章。 導航目次 個人化服務說明 個人帳號密碼申請 個人化服務設定.
Microsoft Excel.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
遠端北風資料庫 公佈時間: 2006/4/26 繳交截止時間: 2006/5/10. 作業目的 實作遠端資料庫瀏覽程式.
Presentation transcript:

第 15 章 Servlet 程式設計 Java 2 程式設計入門與應用

2 目錄 15-1 Servlet 的簡介 15-1 Servlet 的簡介 15-2 建立 Servlet 程式 15-2 建立 Servlet 程式 溫故知新 自我突破習題

Servlet 的簡介 CGI 與 Servlet 下載與安裝 Servlet 引擎

4 前言: 網際網路已經成為交換資訊的重要媒介,網頁 設計當然就成為了顯學!根據網頁的產生技巧, 可分為客戶端網頁和伺服器端執行的網頁,在 伺服器端執行的網頁又稱為動態伺服器網頁, Servlet 就是動態伺服器網頁的一種。

CGI 與 Servlet 共通閘道介面( Common Gateway Interafce ,簡稱 CGI ) 是一種標準執行檔案,在 WWW 環境下,當客戶端連 線至伺服器端,要求存取檔案或資料庫時, CGI 程式 會根據需求將檔案或資料庫中的資料傳送給客戶端, 它只能在伺服器端執行,其運作過程如下圖所示:

6 小型伺服器端程式: 支援 CGI 程式的程式語言有 Java 、 C 語言與 Visual Basic 等。 Servlet 是用來取代 CGI 的程式,是網頁與資料 庫雙向溝通的介面,所謂的 Servlet 是由 “Server” 與 “let” 兩個字組合而成的,在 Java 中, let 表示 小程式的意思(例如下一章教的 Applet 就是 “Application” 與 “let” 兩個字的組合),所以這 兩個字的組合就是指 “ 小型伺服器端程式 ” ,也 就是說 Servlet 是只能在伺服器端執行的程式。

下載與安裝 Servlet 引擎 Java Servlet 必須在支援 Servlet 的 WWW 伺服器 執行,稱為 Servlet 容器或 Servlet 引擎,所以要 先在伺服器端安裝 Servlet 引擎。

8 安裝下列兩種伺服器的 Servlet Container 網址如下所示: Apache 是 UNIX/Linux/Windows 作業系統的 WWW 伺服器,而 IIS 是 Windows 作業系統的 WWW 伺服器,可以安裝在這兩種伺服器的 Servlet Container 如下所示(本書使用免費下載 的 Resin 軟體):

9 下載與安裝 Resin 軟體的操作方法如下:

10

11

12

13

14

15

16

17

18

19

20 如可以連線至下面的網站,表示安裝 Resin 成功: 如果在瀏覽器的網址欄輸入 ,可以連線到下面的網站, 表示安裝 Resin 成功。

建立 Servlet 程式 簡易的 Servlet 程式 在表單輸入資料

22 前言: 在撰寫 Servlet 程式後,要將 Java Servlet 程式放 到 WWW 伺服器的資料夾中,才可以執行成功。

簡易的 Servlet 程式 Java Servlet 其實是一個繼承 HttpServlet 抽象類 別或實作 Servlet 介面的類別,此類別可以用來 處理 HTTP 的請求與回應,所以撰寫 Java Servlet 之前必須載入 javax.servlet 與 javax.servlet.http 類別庫。

24 Servlet 的執行過程: Servlet 是透過瀏覽程式向 WWW 伺服器發出請 求,然後在 Servlet 引擎上執行 Java Servlet ,由 service 函式或 doXXX 函式回應執行結果(若是 由 service 函式處理,會呼叫對應的 doXXX 方 法),其執行過程如下所示:

25 下面是 Servlet 執行過程中常見的函式:

26 Servlet 的介面物件: 呼叫 doGet 函式時必須傳遞 HttpServletRequest 與 HttpServletResponse 兩個介面物件,並且要 拋出 ServletException 與 IOException 例外類別, 其函式原型如下所示( service 與 doXXX 函式的 原型與 doGet 相同):

27 上述兩個介面物件說明如下: 1.HttpServletRequest :客戶端向伺服器端提出 請求的物件,例如:表單輸入而送出資料。 2.HttpServletResponse :伺服器端向客戶端回應 結果的物件,例如:在瀏覽程式中顯示 HTML 文件。

28 在網頁顯示資料: 利用 doGet 參數列的 HttpServletResponse 物件, 可以建立 PrintWriter 物件,在網頁顯示資料, 並且可設定要顯示的文件類型,下面是設定文 件類型的語法:

29 上述語法的 “ 文件類型 ” 可以設定為下面 幾種: 若要輸出的資料為中文字,可在文件類型後輸 入 ;charset=Big5 ,表示 Big5 編碼(繁體中文), 例如: res.setContentType("text/html;charset=Big5"); 。

30 利用 HttpServletResponse 物件建立一個 PrintWriter 輸出物件,語法如下: 如果要在網頁顯示資料,必須先利用 HttpServletResponse 物件建立一個 PrintWriter 輸 出物件,其語法如下: 建立輸出物件後,可以利用下面的語法撰寫 HTML 標籤(關於 HTML 標籤請見 ):

31 例如下面的程式碼:

32 上述程式碼分析如下: 1. 第 2 與 3 行必須先載入 javax.servlet 與 javax.servlet.http 類別庫。 2. 第 5 行的 doGet 函式用來處理客戶端的請求,也可以 利用 service 函式來取代。 3. 第 9 行利用 getWriter 函式建立一個 PrintWriter 輸出物 件,則在第 11~16 行可利用此物件撰寫 HTML 標籤, 在網頁中顯示資料。 4. 因為 PrintWriter 物件屬於 java.io 類別庫,所以在第 1 行 要載入 java.io 類別庫。 5. 第 16 行利用 close 函式關閉輸出物件。

33 瀏覽器中輸入下面的網址: Resin 版本預設的 WWW 伺服器資料夾為 C:\resin \doc\ WEB-I NF\classes ,所以要 將 Servlet 程式複製到該資料夾中,然後在瀏覽 器中輸入下面的網址( Servlet 檔名不包含副檔 名.java ):

34 完成後,畫面顯示如下: 完成後,會自動編譯程式,並且在 classes 資料夾中產 生.class 檔案,執行程式的畫面顯示如下:

35

36

在表單輸入資料 利用 Java Servlet 也可以處理 HTML 的表單資料, 在客戶端輸入資料以傳送給伺服器端,例如: 線上買賣訂單、資料查詢等應用。 ServletRequest 介面可以取得由客戶端傳送給伺 服器端的資料,而因為 HttpServletRequest 介面 繼承於 ServletRequest 介面,所以也可以直接利 用 ServletRequest 介面來操作。 當執行 service 或 doXXX 函式後,就可呼叫 ServletRequest 介面的函式。

38 ServletRequest 介面常用的函式說明如 下:

39 例如下面的程式碼:

40

41 上述程式碼分析如下: 1. 第 6 行的 service 函式用來處理客戶端的請求。 2. 第 10 與 11 行利用 HttpServletRequest 物件 request 傳回表 單欄位 t1 與 t2 的資料,並利用 Double.parseDouble 將傳 回值轉換成 double 資料型別。 3. 第 13 行計算標準體重,公式為 ( 身高 -100)*0.9 。 4. 第 17~19 行在網頁中顯示身高與體重資訊,然後在第 23~29 行顯示測量的體重結果,以粗體段落顯示。

42 下面撰寫一個具有表單的 HTML 文件,並 且設定處理表單資料及顯示結果的路徑 : 在執行 Java Servlet 之前,必須先在 C:\resin \doc 撰寫一個具有表單的 HTML 文件,並 且設定處理表單資料及顯示結果的路徑(設定 為 Servlet 程式的路徑),程式碼如下:

43

44 上述程式碼分析如下: 1. 第 6 行的 標籤表示傳送方式為 get ,處 理表單資料的 Servlet 程式路徑為 “/servlet/ch15_02_02” 。 2. 第 8 與 10 行分別建立文字方塊,其名稱為 t1 與 t2 。 3. 第 11 行建立一個傳送按鈕,顯示的按鈕名稱 為 “ 確定 ” 。

45 完成後: 完成後,在瀏覽器輸入下面的網址(必須包含 HTML 檔案的副檔 名),連線到 HTML 檔案: 連結到網站後,可以在文字方塊中輸入身高與體重,然後點選鈕, 就會自動顯示 Servlet 程式,以處理表單資料並顯示結果,畫面顯示 如下:

46 溫故知新 -1 :

47 溫故知新 -2 :

48 自我突破習題 - 選擇題:

49 自我突破習題 - 實作題: