# 單元2 撰寫與佈署HTTP Servlet ## Module 7 動態網頁的請求與回應 HTTP基礎 ### 基礎_請求與回應 在web底層的HTTP通訊協定中,Client端發出Request給Server,而Server回應Response給Client 通常Request會包含 1. Request Line 2. Request Header 3. Request Content 而Response會包含 1. Status Line 2. Response Header 3. Response Content Request Line 代表著使用哪個請求方式(Get、Post) Request Header、Content會依請求方式不同而內容不同 Status Line為回傳請求狀態(200、404、500...等) EX:HTTP版本,狀態碼,狀態碼說明 Response Header為回應內容的"設定與資訊" Response Content為回應"內容" 但會因為請求方式不同,內容會有差異(詳見P.45、46) ### 基礎_GET的請求方式 Get請求的三種方式 1. 於瀏覽器中輸入URL 2. 點選超連結 3. HTML表單method="Get" GET的Request Header包含所有該傳送的資訊,資安相對較低 Content會無資料 ### 基礎_POST的請求方式 POST請求的一種方式 HTML表單method="POST" POST的Request Header的資料會較少,主要的內容會在Content提高保密性 ### 動態網頁程式的請求元件與回應元件已於上方補充 ## Moudle 8 Java Servlet API ### 改版相關(Jakarta) Tomcat10.0.2為第一個穩定版本,針對Jakarta EE 9 在該版本之後,Java EE遷移到Jakarta EE,所有已實現API的主要套件已從javax.*更改為jakarta.* ### javax.servlet & javax.servelt.http (Servlet&ServletConfig)>GenricServlet>HttpServlet Servlet和ServletConfig為介面 GenricServlet和HttpServlet為抽象類別 GenricServlet有 **service(req:ServletRequest,res:ServletResponse)** 抽象方法 HttpServlet有 **doGet(req:ServletRequest,res:ServletResponse) doPost(req:ServletRequest,res:ServletResponse)** 兩個抽象方法 詳見P.53