對Servlet的理解和認識


首先什么是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容器會自動使用線程池等技術來支持系統的運行
          

 

注:不全面,只是個人記錄.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM