標籤:context server 設定 conf lis 緩衝 接管 servlet 功能
Servlet
Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務連接器,用Java編寫的伺服器端程式,主要功能在於互動式地瀏覽和修改資料,產生動態Web內容。
Servlet容器
- servlet容器啟動過程:
在tomcat容器管理等級中,Context直接管理著Servlet在容器中的封裝類Wrapper,所以Servelt容器如何運行就影響這servlet,下面就是servlet容器啟動過程
Servlet容器啟動時,觸發servletContextEvent事件,並通知相應的監聽器servletContextListener;
Servlet容器在啟動的過程中通過servletContextListener監視servletContext的狀態(初始化或者銷毀servletContext);
servletContextListener中通過contextInitialized初始化方法,根據web.xml對servletContext進行配置,即將Context容器的屬性緩衝在記憶體中,供Service服務利用;
- web應用初始化工作:
web的初始化是在contextConfig中實現的,應用的初始化主要是對web.xml進行解析,這個檔案描述了Web應用的關鍵資訊,也是整個Web應用的入口。
Tomcat將web.xml檔案解析後,將其中的屬性設定到Context容器中,這裡包括建立Servlet執行個體,Filter和Listener。將Servlet封裝成Context中的封裝類Wrapper。
Servlet執行個體
- 建立Servlet對象
如果Servlet在web.xml中load-on-startup的配置大於0,那麼在Context容器啟動時就會被執行個體化。
- 初始化Servlet
通過調用Servlet的init方法,同時把封裝了StandarWrapper對象的StandarWrapperFacade作為ServletConfig傳給Servlet。
Servlet從web.xml被解析到初始化。ServletConfig 和 ServletContext的區別ServletConfig:從一個servlet被執行個體化後,對任何用戶端在任何時候訪問有效,但僅對本servlet有效,一個servlet的ServletConfig對象不能被另一個servlet訪問。
Servlet體繫結構Servlet如何工作Servlet中的ListenerFilter如何工作Servlet中的url-pattern
Java Web 深入分析(8) Servlet工作原理解析