Java Web 深入分析(8) Servlet工作原理解析
阿新 • • 發佈:2018-01-01
銷毀 深入分析 -s 區別 即將 web listen java web 訪問
Servlet
Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程序或服務連接器,用Java編寫的服務器端程序,主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。
Servlet容器
- servlet容器啟動過程:
在tomcat容器管理等級中,Context直接管理著Servlet在容器中的包裝類Wrapper,所以Servelt容器如何運行就影響這servlet,下面就是servlet容器啟動過程
Servlet容器啟動時,觸發servletContextEvent事件,並通知相應的監聽器servletContextListener;
Servlet容器在啟動的過程中通過servletContextListener監視servletContext的狀態(初始化或者銷毀servletContext); - 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中的Listener
Filter如何工作
Servlet中的url-pattern
Java Web 深入分析(8) Servlet工作原理解析