1 .首先,什麼是Servlet?
Servlet是一個Java編寫的程序,此程序是在服務器端運行的,是按照Servlet規範編寫的一個Java類。
2.Servlet是做什麼的?
Servlet是處理客戶端的請求並將其發送到客戶端。
3.Servlet API
1>Servlet框架的組成
Servlet框架是由2個Java包組成:(1)javax.servlet和(2)javax.servlet.http
(1)javax.servlet包中定義了所有Servlet類都必須實現的接口和類。
javax.servlet包的接口爲:
ServletConfig接口 ---- 在初始化過程中由Servlet容器使用
ServletContext接口 ---- 定義Servlet用於獲取容器信息的方法
ServletRequest接口 ---- 向服務器請求信息
ServletResponse接口 ---- 響應客戶端請求
Servlet接口 ---- 定義所有Servlet必須實現的方法
javax.servlet包中的類爲:
ServletInputStream類 ---- 用於從客戶端讀取二進制數據
ServletOutputStream類 ---- 用於將二進制數據發送到客戶端
GenericServlet類 ---- 抽象類,定義一個通用的,獨立於地層協議的Servlet。
(2)javax.servlet.http包中定義了採用HTTP通信的HttpServlet類。
javax.servlet.http包的接口爲:
HttpServletRequest接口 ---- 提供http請求
HttpServletResponse接口 ---- 提供http響應
HttpSession接口 ---- 用於標識客戶端並存儲有關客戶信息
HttpSessionAttributeListener接口 ----實現這個偵聽接口用戶獲取會話的屬性列表的改變的通知
javax.servlet.http包中的類:
HttpServlet類 ---- 擴展了 GenericServlet的抽象類,用於擴展創建Http Servlet
Cookie類 ---- 創建一個Cookie,用於存儲Servlet發送給客戶端的信息
2>Servlet框架的核心
Servlet框架的核心是:javax.servlet.Servlet接口,所有的Servlet都必須實現這一接口。
4.Http Servlet
HttpServlet是一個抽象類,用來創建用戶自己的 HTTP Servlet。HttpServlet類的子類必須至少重寫一下方法中的一個:doGet()和doPost()。
HttpServlet類提供doGet()方法來處理GET請求
public void doGet(HttpServletRequest req,HttpServletResponse res)
提供doPost()方法處理POST請求
public void doPost(HttpServletRequest req,HttpServletResponse res)
其中有2個參數:HttpServletRequset和HttpServlerResponse
這2個類實現了ServlerRequset接口和ServletResponse接口
ServletRequest接口中封裝了客戶請求信息<客戶請求方式,參數名,參數值等>
ServletResponse接口 爲 Servlet提供了返回相應結果的方法。
5.Servlet體系結構
Servlet-->GenericServlet-->HttpServlet-->用戶自定義的Servlet
6.Servlet的生命週期
Servlet的生命週期由Servlet容器控制,該容器創建Servlet的實例。
Servlet生命週期就是指創建Servlet實例後響應客戶請求直至銷燬的全過程。
1>Serlvet生命週期的三個方法:init()-->service()-->destroy()
2>生命週期的各個階段:
實例化:Servlet容器創建Servlet類的實例對象
初始化:Servlet容器調用Servlet的init()方法
服務:如果請求Servlet,則容器調用service()方法
銷燬:銷燬實例之前調用destroy()方法
不可用:銷燬實例並標記爲垃圾處理
Serverlet學習筆記
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Spring HttpHeader HttpResponse
AndroLi
2020-07-02 02:40:33
Server Tomcat v7.0 Server at localhost failed to start. 如何解決?
kaka_1994
2020-06-02 09:58:47
HttpServletRequest的getInputStream方法與getReader方法的區別
qq361301276
2020-02-24 08:41:17
Tomcat組件初解
Celeste7777
2020-02-21 02:56:07
java常用jar包用途
lzhw1985
2018-11-26 06:23:22
log4j配置日誌文件log4j.appender.R.File相對路徑方法
lzhw1985
2018-11-26 06:23:22
spring-security3.0.7框架包介紹
lzhw1985
2018-11-26 06:23:22
HTTP常見狀態碼和調錯方法
飘香白咖
2018-11-04 12:02:07
TCP協議中的三次握手和四次揮手(圖解)
飘香白咖
2018-10-27 11:26:50
Post請求和Get請求的區別
飘香白咖
2018-10-21 09:58:34
參數亂碼問題解決大全
飘香白咖
2018-10-13 10:36:35