10-碼蟻JavaWeb之HttpServlet
HttpServlet簡介
Servlet是由兩個Java包組成: javax.servlet和javax.servlet.http. 在javax.servlet包中定義了 所有的Servlet類都必須實現 或擴充套件的的通用介面和類. 在javax.servlet.http包中定義了 採用HTTP通訊協議的HttpServlet類. Servlet核心就是javax.servlet.Servlet介面, 所有的Servlet都必須實現這一介面
HttpServlet父子關係
它是GenericServlet的子類 GenericServlet實現了Servlet介面 HttpServlet是專門負責 處理http請求與響應的 以後建立Servlet時,直接使用httpServlet
HttpServlet方法
service() 每一次傳送請求的時候就會呼叫 當寫了service就會不再呼叫get或post doGet() 當傳送get請求時呼叫 doPost() 當傳送post請求的時候呼叫
HttpServlet容器響應Web客戶請求流程
1.Web客戶向Servlet容器發出Http請求; 2.Servlet容器解析Web客戶的Http請求; 3.Servlet容器建立一個HttpRequest物件, 在這個物件中封裝Http請求資訊; 4.Servlet容器建立一個HttpResponse物件; 5.Servlet容器呼叫HttpServlet的service方法 把HttpRequest和HttpResponse物件 作為service方法的引數傳給HttpServlet物件; 6.HttpServlet呼叫HttpRequest的有關方法 獲取HTTP請求資訊; 7.HttpServlet呼叫HttpResponse的有關方法 生成響應資料; 8.Servlet容器把HttpServlet的響應結果傳給Web客戶。
HttpServlet內部方法呼叫過程
當接收到一個請求時, tomcat就會找對應的service方法 如果當中servlet當中 沒有存在service方法, 就會到它的父類當中去找 在父類當中找到service是引數為ServletRequest, 在會內部把引數轉為httpServlet 轉換完畢後會 再繼續呼叫 引數為httpServletRequest的service方法 在此方法當中 會獲取引數的型別, 根據不同的引數型別 再去呼叫不同的方法

驅動案例:
需求:使用者輸入使用者和密碼到資料庫連線到資料庫,驗證登入是否正確
步驟 1.到資料庫當中建立一個使用者表 id name password email 2.編寫html登入頁面 3.建立LoginServlet 4.接收到請求時 4.1.獲取請求引數 4.2.連線到資料庫,驗證使用者名稱和密碼是否正確 把jdbcutils和dbutils放到web-info下的lib目錄當中 把db.properties放到自己目錄當中 要修改檔案路徑,修改成位元組碼的路徑 Object.class.getClassLoader().getResource("db.properties").getPath(); 4.3.根據查詢的結果給使用者反饋登入成功還是失敗



博文全套 視訊講解 點選以下連結檢視
ofollow,noindex">https://study.163.com/course/courseMain.htm?courseId=1005981003&share=2&shareId=1028240359