Servlet工作原理

**

Servlet工作原理:

**
當客戶端瀏覽器向服務器請求一個Servlet時,服務器收到該請求後,首先到容器中檢索與請求匹配的Servlet實例是否存在,如果不存在,則Servlet容器負責加載並實例化出該類Servlet的一個實例對象,接着容器框架負責調用該實例的init()方法對實例做一些實例化工作,然後Servlet容器運行該實例的service()方法(httprequest,httpresponse)。
如果Servlet實例已經存在,則容器框架直接調用該實例的service()方法。
Service()方法在運行時,自動派遣運行與用戶請求相對應的doXX()方法來響應用戶發起的請求。通常,每一個Servlet類在容器中只有一個實例,每當請求到來時,則分配一條線程來處理該請求

Servlet沒有main方法,不能夠獨立的運行,它的運行需要容器的支持,tomcat是最常用的jsp/servlet容器;servlet運行在Servlet容器中,並由容器管理從創建到銷燬的整個過程
生命週期
1、 加載和實例化
Servlet容器裝載和實例化一個Servlet。創建出該Servlet類的一個實例
2、 初始化
在Servlet實例化完成後,容器負責調用該servlet實例的init()方法,在處理用戶請求之前,來做一些額外工作的初始化
3、 處理請求
當Servlet容器接收到一個Servlet請求時,便運行與之對應的Servlet實例的service()方法,service()方法再派遣運行與請求相對應的doGet/doPost方法來處理用戶請求。
4、 銷燬
當servlet容器決定將一個Servlet從服務器中移除時(如servlet文件被更新),便調用servlet實例的destroy()方法,在銷燬之前做一些其它的工作
其中加載、實例化、初始化、銷燬在整個生命週期中只會被執行一次

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章