Web學習日記_13:HttpServlet
1,HttpServlet概述
HttpServlet類是GenericServlet的子類,它提供了對HTTP請求的特殊支援,所以通
常我們都會通過繼承HttpServlet來完成自定義的Servlet。
2 ,HttpServlet覆蓋了service()方法
HttpServlet類中提供了service(HttpServletRequest,HttpServletResponse)方法,這個
方法是HttpServlet自己方法,不是從Servlet繼承來的。在HttpServlet的service(ServletRequest,
ServletResponse)方法中會把ServletRequest和ServletResponse強轉成HttpServletRequest和
HttpServletResponse,然後呼叫service(HttpServletRequest,HttpServletResponse)方法,這說
明子類可以去覆蓋service(HttpServletRequest,HttpServletResponse)方法即可,這就不用自己去
強轉請求和響應物件了。其實子類也不用去覆蓋service(HttpServletRequest,HttpServletResponse)方
法,因為HttpServlet還要做另一步簡化操作,下面會介紹。
HttpServlet.java
public abstract class HttpServlet extends GenericServlet { protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { …… } @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { HttpServletRequest request; HttpServletResponse response; try { request = (HttpServletRequest) req; response = (HttpServletResponse) res; } catch (ClassCastException e) { throw new ServletException("non-HTTP request or response"); } service(request, response); } }
3,doGet()和doPost()
在HttpServlet的service(HttpServletRequest,HttpServletResponse)方法會去判斷當前請求是GET還是POST,
如果是GET請求,那麼會去呼叫本類的doGet()方法,如果是POST請求會去呼叫doPost()方法,這說明我們
在子類中去覆蓋doGet()或doPost()方法即可。
public class AServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("hello doGet()..."); } } public class BServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("hello doPost()..."); } }
相關推薦
Web學習日記_13:HttpServlet
1,HttpServlet概述 HttpServlet類是GenericServlet的子類,它提供了對HTTP請求的特殊支援,所以通 常我們都會通過繼承HttpServlet來完成自定義的Servl
Web學習日記_15:響應對應例題
建立如下web專案: 建立包名如上圖: 建立servlet檔案:new>servlet 最下面只勾勒doGet方法 刪除掉藍色區域內容 點完成 在建立另一個檔案,用來接收響應。 Bservlet。建立方式如上。 在Aservlet內寫入程式
Web學習日記_15:respond響應
1,伺服器處理請求的流程: 伺服器每次收到請求時,都會為這個請求開闢一個新的執行緒。 伺服器會把客戶端的請求資料封裝到request物件中,request就是請求資料的載體! 伺服器還會建立response物件,這個物件與客戶端連線
Web學習日記_8:實現Servlet的方法
1,實現Servlet有三種方法 *:實現javax.servlet.Servlet介面 *:繼承javax.servlet.GenericServlet類 *:繼承javax.se
Web學習日記_07:servlet的學習之servlet的概述以及方法
Servlet的概述 servlet是JavaWeb三大元件之一,屬於動態資源。其作用的處理請求,伺服器會把接收到的請求交給servlet來處理。 通常需要: 接受請求資料 處理請求 完成迴應 sevelet需要tomcat呼叫,但是需要自己編寫servlet,每個
Web學習日記_06:XML約束之DTD約束
1,為什麼需要XML約束; 比如我們定義一個人的XML檔案,裡面包括人的元素姓名、年齡、性別等,但是如果你 寫入貓這個元素的時候,執行XML可以正常顯示。但是貓不是屬於人所屬的元素,不符合 人的現實關。所以這時候就需要XML約束來約束文件人的元素。 2,XML約束技術:DTD約束和sc
Web學習日記_05:XML語法
1,XML語言:可擴充套件標記型語言。 在之前標記型語言學過HTML語言,HTML語言裡面的標籤是固定的, 每個標籤都有特定的含義;而XML裡面的標籤的可以自定義標籤, 也可以學中文標籤; XML是W3C組織釋出的技術;XML有兩
.net core 學習日記二:添加swagger支持
star .json .net core 學習 web end direct dds ash swagger 是restful api 文檔生成工具,當加入swagger後,發布api自動生成swagger 頁,記錄對應接口信息,並可在頁面直接測試調取接口。 這篇文章記錄
web學習日記_15:響應對應例題——定時重定向
前言:你是不是一個某網盤高手,你在某網盤是不是收藏了大量資源種子,你是不是一個會開車的網盤老司機?沒錯,這次的例題和網盤沒有啥關係。 其實,還是有關係的,如果你使用過百度網盤。那一定會繫結QQ來作為登入從而來解決登入代帶來的麻煩。在你使用QQ登入後,頁面會顯示還有幾秒中跳轉到百度網盤(網頁版
Web學習日記_14:ServletContext
1,ServletContext概述 伺服器會為每個應用建立一個ServletContext物件: ServletContext物件的建立是在伺服器啟動時完成的; ServletContext物件的銷燬是在伺服器關閉時完成的。 ServletContext物件的作用是在整
Web學習日記_09:建立Servlet應用
使用myeclipse建立一個Web專案1,new>Web Project :點finish完成建立(我的專案名稱為WebProjest) 在scr內建立一個包,在包內建立一個java檔案並寫入: HelloServlet.java內程式碼: public cla
Web學習日記_10:Servlet介面
在上面的文章中我們是通過實現Servlet介面來實現servlet中的方法的。 那我們就來了解Servlet介面吧。 1,Servlet的生命週期 void init(ServletConfig); void service(ServletReque
Java Web 學習筆記之一:伺服器獲取表單上傳的檔案
Servlet3.0標準之後,Java Web檔案上傳就不需要通過FileUpload等庫來實現了,通過servlet API即可實現web後臺的檔案上傳支援。 表單提交請求,表單中的檔案可以通過request.getPart()方法獲取。 下面來介紹獲取檔案的具體使用方
Java web學習總結10:HttpServletRequest物件1
一、HttpServletRequest介紹 HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,HTTP請求頭中的所有資訊都封裝在這個物件中,通過這個物件提供的方法,可以獲得客戶端請求的所有資訊。 二、Request常用方法
Laravel學習日記1:安裝與初識
前話: 一直使用ThinkPHP框架,最近計劃由tp3升級到tp5,結果發現tp5相關的文件都是收費的,準備棄之,換用Laravel。 工作的環境都是Linux,因此只討論Linux下的操作,不涉及windows相關。 相對於TP而
java學習日記_9:面向物件的概念以及思想
java是面向物件的程式語言, 面向物件是基於面向過程的程式設計思想; 先區別一下面向過程與面向物件—— 面向過程:強調每一步的功能步驟, 面向過程:強調的是物件,然後由物件去呼叫功能; 面向物件的特點——符合常規思維;將複雜簡單化;將執行者變為指揮者; 舉個很直觀的例
python學習日記:day11-----裝飾器
spa bsp 就是 時間 裝飾 原則 老板 args 函數名 1,time模塊 import time print(time.sleep())#讓程序在執行到這個位置到時候停一會 print(‘哈哈哈‘) 獲取當前時間 import time time.tim
python學習日記:day13------叠代器與生成器
就是 元素 獲取值 空間 for stat name 監聽 dir 一、導入 1,dir功能 print(dir([]))告訴我這個列表擁有的所有方法 帶著雙下劃線的方法叫做雙下方法。 2,一個列表執行了_iter_()之後的返回值就是一個叠代器 3,_length_h
python學習日記:day15:------內置函數
八進制 一個 end bin cal sum 除法 open() 空間 1,作用域相關 1)locals()---------獲取執行本方法所在命名空間內的局部變量的字典 #返回本地作用域中的所有名字 2)globals()——獲取全局變量的字典 #返回全局作用域中的所有名
學習日記 | 5.29 [Python3] Python Web開發基礎
odi 編碼 AC htm extends app render www amp 註:這是一系列基於實驗樓網絡培訓的python學習日記,內容零散,只是便於我自己回顧,有需要請了解www.shiyanlou.com。 3. 實驗13: jinja2模板 flask