首先什么是Servlet:
Servlet本質就是一個繼承了HttpServlet的一個類文件,功能是在容器(服務器)根據客戶端不同請求給予相應的響應服務.
Servlet的運行環境是Tomcat
Servlet提供服務的過程原理(Servlet生命周期):
生命全過程:觸發: URL請求觸發
加載: ClassLoader 加載相關需要用到的類
實例化: init()傳遞配置參數,為服務做准備
初始化: 調用構造方法,創建servlet類的對象
服務: doGet() doPost() servlet()方法,提供服務
退出服務: destroy()死亡/銷毀消除內存中的無用數據
從服務器開機開始,如果沒有請求觸發的話,就不會有相應的servlet對象
創建以后到結束,一直都只有一個servlet對象,然后以多線程的形式執行,多個請求到同一個servlet類
API中的過程:init()//只執行一次, 第一次初始化的時候public void init(ServletConfig config) throws ServletException
service()public void service(ServletRequest req, ServletResponse res) throws ServletException, java.io.IOException
destroy()//webapp 退出的時候public void destroy()
以下為Servlet生命周期圖:

Servlet 編程接口 :
GenericServlet是所有Servlet的鼻祖
用於HTTP的Servlet編程都通過繼承 javax.servlet.http.HttpServlet 實現
請求處理方法(應對Http協議請求):1、doGet 響應Get請求,常用
2、doPost 響應Post請求,常用
實例的個數:在非分布的情況下,通常一個Servlet在服務器中有一個實例
Servlet的多線程機制 :
Servlet體系結構是建立在Java多線程機制之上的,它的生命周期是由Web容器負責的。
當客戶端第一次請求某個Servlet時,Servlet 容器將會根據web.xml配置文件實例化這個Servlet類。當有新的客戶端請求該Servlet時,一般不會再實例化該Servlet類,也就是有 多個線程在使用這個實例。
Servlet容器會自動使用線程池等技術來支持系統的運行
注:不全面,只是個人記錄.
