SlideShare ist ein Scribd-Unternehmen logo
1 von 66
Downloaden Sie, um offline zu lesen
CHAPTER 3
• 請求與回應
              學習目標
              •   取得請求參數與標頭
              •   處理中文字元請求與回應
              •   設定與取得請求範圍屬性
              •   正確使用轉發、包含、重
                  新導向
Web容器作了什麼?
Web容器作了什麼?
• HttpServletRequest、
  HttpServletResponse 都是介面
Web容器作了什麼?
Web容器作了什麼?
• 請求資訊的收集
• 建立HttpServletRequest物件
• 建立HttpServletResponse物件
• 輸出HTTP回應之轉換
• 銷毀、回收HttpServletRequest物件
• 銷毀、回收HttpServletResponse物件
• ...
Web容器作了什麼?
• 必須了解Web容器管理物件生命週期的方式,
  否則就會引來不必要的錯誤
doXXX()方法?
• service()方法簽署


• 請求/回應物件的基本行為是規範在
  ServletRequest、ServletResponse(套件是
  javax.servlet)
• 與HTTP相關的行為,則分別由兩者的子介面
  HttpServletRequest、
  HttpServletResponse(套件是
  javax.servlet.http)定義
doXXX()方法?
• Web容器建立HttpServletRequest、
  HttpServletResponse的實作物件




                另一個版本的service()方法
doXXX()方法?
doXXX()方法?
doXXX()方法?
• doGet() 處理 HTTP GET 請求
• doPost() 處理 HTTP POST 請求
• doPut() 處理 HTTP PUT 請求
• doDelete() 處理 HTTP DELETE 請求
• doHead() 處理 HTTP HEAD 請求
• doOptions() 處理 HTTP OPTIONS 請求
• doTrace() 處理 HTTP TRACE 請求
doXXX()方法?
• 如果客戶端發出了沒有實作的請求會如何?
doXXX()方法?
doXXX()方法?
• 可以實作getLastModified()方法決定是
  否呼叫doGet()方法
• 在GET與POST都需要相同處理的情境
處理請求參數與標頭
• getParameter()
• getParameterValues()
• getParameterMap()
• getHeader()
• getHeaders()
• getHeaderNames()
處理請求參數與標頭
瀏覽器用UTF-8發送請求
• POST請求參數編碼處理

• GET請求參數編碼處理
POST請求參數編碼處理
• 沒有Content-Type標頭,
  getCharacterEncoding()傳回null
• 容器若使用ISO-8859-1,客戶端使用UTF-8發
  送非ASCII字元的請求參數
• 使用getParameter()等方法會取得亂碼
POST請求參數編碼處理
• 網頁編碼UTF-8,表單使用POST發出「林」
 – 林  %E6%9E%97
• 瀏覽器相當於作了這個動作

• 容器若使用ISO-8859-1來處理編碼,相當於
POST請求參數編碼處理
• 使用HttpServletRequest的
  setCharacterEncoding()方法
• 在取得任何請求值之「前」

• 相當於要求容器作這個動作
GET請求參數編碼處理
• setCharacterEncoding()只對POST產
  生作用
 – Overrides the name of the character encoding
   used in the body of this request.
 – 請求用GET發送時,沒有定義是否影響Web容器
   處理編碼的方式
 – Tomcat在GET時,setCharacterEncoding()
   方法設定編碼就不會有作用
GET請求參數編碼處理
• 若瀏覽器使用UTF-8處理字元,Web容器預設
  使用ISO-8859-1編碼
GET請求參數編碼處理
• 若瀏覽器使用UTF-8處理字元,相當於作了
  這個動作

• Web容器預設使用ISO-8859-1編碼,相當於

• 用以下編碼轉換來得到正確的「林」字元
請求參數編碼處理
讀取請求本體
• getReader()傳回BufferedReader
• getInputStream()傳回
  ServletInputStream
getReader()
• UTF-8網頁




   良    葛     格           送   出
<form>標籤的enctype屬性
• 預設值"application/x-www-form-urlencoded"
• 上傳檔案,要設為"multipart/form-data"
getReader()
• 上傳檔案
getInputStream()
• 要取得上傳的檔案,基本方式就是判斷檔案
  的開始與結束區段
• 使用getInputStream()取得
  ServletInputStream
 – InputStream子類別,代表請求本體串流物件
同一個請求期間
• getReader()與getInputStream()只能
  擇一呼叫
• 若同一請求期間兩者都有呼叫,則會丟出
  IllegalStateException例外
getPart()、getParts()
• 在Servlet 3.0中,新增了Part介面
• 可以透過HttpServletRequest的
  getPart()取得Part實作物件
@MultipartConfig
• fileSizeThreshold:上傳檔案大小超過
  設定門檻的話,會先寫入暫存檔案
• location:寫入檔案時的目錄
• maxFileSize:限制上傳檔案大小
• maxRequestSize:限制multipart/form-data
  請求個數
多個檔案要上傳
• 可以使用getParts()方法
• 傳回一個Collection<Part>,當中是每
  個上傳檔案的Part物件
使用web.xml設定
RequestDispatcher
• 使用HttpServletRequest的
  getRequestDispatcher()方法取得
使用include()方法
• 將另一個Servlet執行流程包括至目前Servlet
  執行流程
使用include()方法
• 取得RequestDispatcher時,也可以包括
  查詢字串
請求範圍屬性
• HttpServletRequest上與請求範圍屬性
  有關的幾個方法:
 – setAttribute():指定名稱與物件設定屬性
 – getAttribute():指定名稱取得屬性
 – getAttributeNames():取得所有屬性名稱
 – removeAttribute():指定名稱移除屬性
請求範圍屬性
java.或javax.開頭的名稱
•   javax.servlet.include.request_uri
•   javax.servlet.include.context_path
•   javax.servlet.include.servlet_path
•   javax.servlet.include.path_info
•   javax.servlet.include.query_string
使用forward()方法
• 要將請求處理轉發給別的Servlet
• 對客戶端的回應同時也轉發給另一個Servlet
• 目前的Servlet不能有任何回應確認,否則會
  丟出IllegalStateException
java.或javax.開頭的名稱
•   javax.servlet.forward.request_uri
•   javax.servlet.forward.context_path
•   javax.servlet.forward.servlet_path
•   javax.servlet.forward.path_info
•   javax.servlet.forward.query_string
Model 2 / Controller
Model 2 / Model
Model 2 / View
Model 2 / View
HttpServletResponse
• setHeader()
• addHeader()
• setIntHeader()
• addIntHeader()
• setDateHeader()
• addDateHeader()
HttpServletResponse
• 在回應確認之後設定的標頭,會被容器忽略
• 與緩衝區相關
 – getBufferSize()
 – setBufferSize()
 – isCommitted()
 – reset()
 – resetBuffer()
 – flushBuffer()
HttpServletResponse
• 在呼叫HttpServletResponse的
  getWriter()或 getOutputStream()方
  法之後呼叫setBufferSize(),會丟出
  IllegalStateException
• 在回應已確認後呼叫reset()、
  resetBuffer()會丟出
  IllegalStateException
HttpServletResponse
• 若被容器關閉,則必須出清所有的回應內容
 – Servlet的service()方法已結束
 – 回應的內容長度超過HttpServletResponse
   的setContentLength()所設定的長度
 – 呼叫了sendRedirect()方法
 – 呼叫了sendError()方法
 – 呼叫了AsyncContext的complete()方法
HttpServletResponse
• 使用getWriter()取得PrintWriter物件
• 字元編碼預設是ISO-8859-1
設定Locale
• 瀏覽器如果有發送Accept-Language標頭
• 可以使用HttpServletRequest的
  getLocale()來取得一個Locale物件
• 代表客戶端可接受的語系
• 可以使用HttpServletResponse的
  setLocale()來設定地區(Locale)資訊
• setLocale()也會設定HTTP回應的
  Content-Language標頭
設定Locale
• 將HTTP回應的Content-Language設定為zh-
  TW,而字元編碼處理設定為BIG5

• 在web.xml中設定預設的區域與編碼對應
設定字元編碼
• 呼叫HttpServletResponse的
  setCharacgerEncoding()

• 使用HttpServletResponse的
  setContentType()時,指定charset
設定字元編碼
• 如果使用了setCharacterEncoding()或
  setContentType()時指定了charset,
  則setLocale()就會被忽略
getOutputStream()
• 取得ServletOutputStream實例,為
  OutputStream的子類別
forward()方法
sendRedirect()
sendError()
微網誌

Weitere ähnliche Inhalte

Was ist angesagt?

Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLJustin Lin
 
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSPServlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSPJustin Lin
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityJustin Lin
 
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤Justin Lin
 
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式Ch01 簡介Web應用程式
Ch01 簡介Web應用程式Justin Lin
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式Justin Lin
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應Justin Lin
 
整合資料庫
整合資料庫整合資料庫
整合資料庫Justin Lin
 
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Justin Lin
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletJustin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理Justin Lin
 
Ch02 撰寫與設定Servlet
Ch02 撰寫與設定ServletCh02 撰寫與設定Servlet
Ch02 撰寫與設定ServletJustin Lin
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤Justin Lin
 
Ch07 使用JSTL
Ch07 使用JSTL Ch07 使用JSTL
Ch07 使用JSTL Justin Lin
 
Ch09 整合資料庫
Ch09 整合資料庫 Ch09 整合資料庫
Ch09 整合資料庫 Justin Lin
 

Was ist angesagt? (20)

Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
Servlet & JSP 教學手冊第二版 - 第 9 章:整合資料庫
 
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTLServlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
Servlet & JSP 教學手冊第二版 - 第 7 章:使用 JSTL
 
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
Servlet & JSP 教學手冊第二版 - 第 4 章:會話管理
 
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
Servlet & JSP 教學手冊第二版 - 第 5 章:Servlet 進階 API、過濾器與傾聽器
 
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSPServlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
Servlet & JSP 教學手冊第二版 - 第 6 章:使用 JSP
 
Ch13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/SecurityCh13 整合 Spring MVC/Security
Ch13 整合 Spring MVC/Security
 
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
Servlet & JSP 教學手冊第二版 - 第 8 章:自訂標籤
 
Ch01 簡介Web應用程式
Ch01 簡介Web應用程式Ch01 簡介Web應用程式
Ch01 簡介Web應用程式
 
CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式CH1. 簡介 Web 應用程式
CH1. 簡介 Web 應用程式
 
Ch03 請求與回應
Ch03 請求與回應Ch03 請求與回應
Ch03 請求與回應
 
整合資料庫
整合資料庫整合資料庫
整合資料庫
 
Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器Ch05 Servlet進階API、過濾器與傾聽器
Ch05 Servlet進階API、過濾器與傾聽器
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
Ch04 會話管理
Ch04 會話管理Ch04 會話管理
Ch04 會話管理
 
Ch02 撰寫與設定Servlet
Ch02 撰寫與設定ServletCh02 撰寫與設定Servlet
Ch02 撰寫與設定Servlet
 
Ch08 自訂標籤
Ch08 自訂標籤Ch08 自訂標籤
Ch08 自訂標籤
 
Ch07 使用JSTL
Ch07 使用JSTL Ch07 使用JSTL
Ch07 使用JSTL
 
Ch09 整合資料庫
Ch09 整合資料庫 Ch09 整合資料庫
Ch09 整合資料庫
 

Andere mochten auch

Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理
Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理
Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理Justin Lin
 
Spring 2.0 技術手冊目錄
Spring 2.0 技術手冊目錄Spring 2.0 技術手冊目錄
Spring 2.0 技術手冊目錄Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Justin Lin
 
Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Justin Lin
 
Spring 2.0 技術手冊導讀
Spring 2.0 技術手冊導讀Spring 2.0 技術手冊導讀
Spring 2.0 技術手冊導讀Justin Lin
 
Spring 2.0 技術手冊第六章 - Hibernate 與 Spring
Spring 2.0 技術手冊第六章 - Hibernate 與 SpringSpring 2.0 技術手冊第六章 - Hibernate 與 Spring
Spring 2.0 技術手冊第六章 - Hibernate 與 SpringJustin Lin
 
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架Justin Lin
 
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailServlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailJustin Lin
 
讓程式展現樂趣 玩出實驗精神與創造力
讓程式展現樂趣 玩出實驗精神與創造力讓程式展現樂趣 玩出實驗精神與創造力
讓程式展現樂趣 玩出實驗精神與創造力Justin Lin
 
Spring 2.0 技術手冊書名頁
Spring 2.0 技術手冊書名頁Spring 2.0 技術手冊書名頁
Spring 2.0 技術手冊書名頁Justin Lin
 
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用APIJustin Lin
 
Spring 2.0 技術手冊第十章 - 專案:線上書籤
Spring 2.0 技術手冊第十章 - 專案:線上書籤Spring 2.0 技術手冊第十章 - 專案:線上書籤
Spring 2.0 技術手冊第十章 - 專案:線上書籤Justin Lin
 
Spring 2.0 技術手冊第四章 - Spring AOP
Spring 2.0 技術手冊第四章 - Spring AOPSpring 2.0 技術手冊第四章 - Spring AOP
Spring 2.0 技術手冊第四章 - Spring AOPJustin Lin
 
Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Justin Lin
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Justin Lin
 
Spring 2.0 技術手冊第三章 - IoC 容器
Spring 2.0 技術手冊第三章 - IoC 容器Spring 2.0 技術手冊第三章 - IoC 容器
Spring 2.0 技術手冊第三章 - IoC 容器Justin Lin
 
Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門Justin Lin
 
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫Justin Lin
 

Andere mochten auch (19)

進階主題
進階主題進階主題
進階主題
 
Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理
Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理
Servlet & JSP 教學手冊第二版 - 第 10 章:Web 容器安全管理
 
Spring 2.0 技術手冊目錄
Spring 2.0 技術手冊目錄Spring 2.0 技術手冊目錄
Spring 2.0 技術手冊目錄
 
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
Servlet & JSP 教學手冊第二版 - 第 12 章:從模式到框架
 
Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援Spring 2.0 技術手冊第五章 - JDBC、交易支援
Spring 2.0 技術手冊第五章 - JDBC、交易支援
 
Spring 2.0 技術手冊導讀
Spring 2.0 技術手冊導讀Spring 2.0 技術手冊導讀
Spring 2.0 技術手冊導讀
 
Spring 2.0 技術手冊第六章 - Hibernate 與 Spring
Spring 2.0 技術手冊第六章 - Hibernate 與 SpringSpring 2.0 技術手冊第六章 - Hibernate 與 Spring
Spring 2.0 技術手冊第六章 - Hibernate 與 Spring
 
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
Spring 2.0 技術手冊第七章 - Spring Web MVC 框架
 
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMailServlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
Servlet & JSP 教學手冊第二版 - 第 11 章:簡介 JavaMail
 
讓程式展現樂趣 玩出實驗精神與創造力
讓程式展現樂趣 玩出實驗精神與創造力讓程式展現樂趣 玩出實驗精神與創造力
讓程式展現樂趣 玩出實驗精神與創造力
 
Spring 2.0 技術手冊書名頁
Spring 2.0 技術手冊書名頁Spring 2.0 技術手冊書名頁
Spring 2.0 技術手冊書名頁
 
Java SE 7 技術手冊投影片第 12 章 - 通用API
Java SE 7 技術手冊投影片第 12 章  - 通用APIJava SE 7 技術手冊投影片第 12 章  - 通用API
Java SE 7 技術手冊投影片第 12 章 - 通用API
 
Spring 2.0 技術手冊第十章 - 專案:線上書籤
Spring 2.0 技術手冊第十章 - 專案:線上書籤Spring 2.0 技術手冊第十章 - 專案:線上書籤
Spring 2.0 技術手冊第十章 - 專案:線上書籤
 
Spring 2.0 技術手冊第四章 - Spring AOP
Spring 2.0 技術手冊第四章 - Spring AOPSpring 2.0 技術手冊第四章 - Spring AOP
Spring 2.0 技術手冊第四章 - Spring AOP
 
Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝Spring 2.0 技術手冊第九章 - API 封裝
Spring 2.0 技術手冊第九章 - API 封裝
 
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
Spring 2.0 技術手冊第八章 - View 層方案、Web 框架整合
 
Spring 2.0 技術手冊第三章 - IoC 容器
Spring 2.0 技術手冊第三章 - IoC 容器Spring 2.0 技術手冊第三章 - IoC 容器
Spring 2.0 技術手冊第三章 - IoC 容器
 
Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門Spring 2.0 技術手冊第二章 - Spring 入門
Spring 2.0 技術手冊第二章 - Spring 入門
 
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
Java SE 8 的 Lambda 連鎖效應 - 語法、風格與程式庫
 

Ähnlich wie Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應

Spring mvc
Spring mvcSpring mvc
Spring mvcpepsixp
 
香港六合彩
香港六合彩香港六合彩
香港六合彩aaveow
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践Li JianYe
 
12. 網路通訊方案
12. 網路通訊方案12. 網路通訊方案
12. 網路通訊方案Justin Lin
 
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5   app - oss - 3rd party api(ver 1.0) 開放原始碼 Ch2.5   app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0) My own sweet home!
 
ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享國昭 張
 
【第一季•第六期】Ajax & JSONP in Action
【第一季•第六期】Ajax & JSONP in Action【第一季•第六期】Ajax & JSONP in Action
【第一季•第六期】Ajax & JSONP in Actiontbosstraining
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)振揚 陳
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送yongboy
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送yongboy
 
jsp基础速成精华讲解
jsp基础速成精华讲解jsp基础速成精华讲解
jsp基础速成精华讲解wensheng wei
 
Template mb-kao
Template mb-kaoTemplate mb-kao
Template mb-kaoxwcoder
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训lotusprince
 
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Justin Lin
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析Justin Lin
 

Ähnlich wie Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應 (20)

Spring mvc
Spring mvcSpring mvc
Spring mvc
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
香港六合彩
香港六合彩香港六合彩
香港六合彩
 
ev2oik
ev2oikev2oik
ev2oik
 
运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践运维系统开发与Rails 3页面开发实践
运维系统开发与Rails 3页面开发实践
 
12. 網路通訊方案
12. 網路通訊方案12. 網路通訊方案
12. 網路通訊方案
 
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5   app - oss - 3rd party api(ver 1.0) 開放原始碼 Ch2.5   app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
 
ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享ASP.Net WebAPI經驗分享
ASP.Net WebAPI經驗分享
 
Javascript
JavascriptJavascript
Javascript
 
【第一季•第六期】Ajax & JSONP in Action
【第一季•第六期】Ajax & JSONP in Action【第一季•第六期】Ajax & JSONP in Action
【第一季•第六期】Ajax & JSONP in Action
 
Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)Http Headers 與 Cache 機制(2016)
Http Headers 與 Cache 機制(2016)
 
Real time web实时信息流推送
Real time web实时信息流推送Real time web实时信息流推送
Real time web实时信息流推送
 
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
 
jsp基础速成精华讲解
jsp基础速成精华讲解jsp基础速成精华讲解
jsp基础速成精华讲解
 
Template mb-kao
Template mb-kaoTemplate mb-kao
Template mb-kao
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
 
AJAX Basic
AJAX BasicAJAX Basic
AJAX Basic
 
Asp.net mvc 培训
Asp.net mvc 培训Asp.net mvc 培训
Asp.net mvc 培训
 
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
Java SE 7 技術手冊投影片第 14 章 - 整合資料庫
 
深入淺出 Web 容器 - Tomcat 原始碼分析
深入淺出 Web 容器  - Tomcat 原始碼分析深入淺出 Web 容器  - Tomcat 原始碼分析
深入淺出 Web 容器 - Tomcat 原始碼分析
 

Mehr von Justin Lin

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring BootJustin Lin
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走Justin Lin
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMailJustin Lin
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Justin Lin
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTLJustin Lin
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題Justin Lin
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步Justin Lin
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能Justin Lin
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組Justin Lin
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換Justin Lin
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構Justin Lin
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組Justin Lin
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理Justin Lin
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承Justin Lin
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別Justin Lin
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式Justin Lin
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子Justin Lin
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走Justin Lin
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDEJustin Lin
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Justin Lin
 

Mehr von Justin Lin (20)

Ch14 簡介 Spring Boot
Ch14 簡介 Spring BootCh14 簡介 Spring Boot
Ch14 簡介 Spring Boot
 
Ch12 Spring 起步走
Ch12 Spring 起步走Ch12 Spring 起步走
Ch12 Spring 起步走
 
Ch11 簡介 JavaMail
Ch11 簡介 JavaMailCh11 簡介 JavaMail
Ch11 簡介 JavaMail
 
Ch10 Web 容器安全管理
Ch10 Web 容器安全管理Ch10 Web 容器安全管理
Ch10 Web 容器安全管理
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
14. 進階主題
14. 進階主題14. 進階主題
14. 進階主題
 
13.並行、平行與非同步
13.並行、平行與非同步13.並行、平行與非同步
13.並行、平行與非同步
 
12. 除錯、測試與效能
12. 除錯、測試與效能12. 除錯、測試與效能
12. 除錯、測試與效能
 
11. 常用內建模組
11. 常用內建模組11. 常用內建模組
11. 常用內建模組
 
10. 資料永續與交換
10. 資料永續與交換10. 資料永續與交換
10. 資料永續與交換
 
9. 資料結構
9. 資料結構9. 資料結構
9. 資料結構
 
8. open() 與 io 模組
8. open() 與 io 模組8. open() 與 io 模組
8. open() 與 io 模組
 
7. 例外處理
7. 例外處理7. 例外處理
7. 例外處理
 
6. 類別的繼承
6. 類別的繼承6. 類別的繼承
6. 類別的繼承
 
5. 從模組到類別
5. 從模組到類別5. 從模組到類別
5. 從模組到類別
 
4. 流程語法與函式
4. 流程語法與函式4. 流程語法與函式
4. 流程語法與函式
 
3.型態與運算子
3.型態與運算子3.型態與運算子
3.型態與運算子
 
1. Python起步走
1. Python起步走1. Python起步走
1. Python起步走
 
2. 從 REPL 到 IDE
2. 從 REPL 到 IDE2. 從 REPL 到 IDE
2. 從 REPL 到 IDE
 
Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄Python 3.9 技術手冊目錄
Python 3.9 技術手冊目錄
 

Servlet & JSP 教學手冊第二版 - 第 3 章:請求與回應