1.什么是ServletContext
當(dāng)服務(wù)器啟動時,服務(wù)器會為每一個Web應(yīng)用創(chuàng)建一個唯一的ServletContext對象代表當(dāng)前Web應(yīng)用。每個Web應(yīng)用中的Servlet共享一個ServletContext,所以Servlet之間就可以通過該對象來實現(xiàn)數(shù)據(jù)通信。ServletContext對象的生命周期是最長的,當(dāng)服務(wù)器啟動時被創(chuàng)建,服務(wù)器關(guān)閉或web應(yīng)用被移出服務(wù)器時被銷毀。
下面通過一張圖來了解ServletContext對象的特性,如圖1-1所示:
2.怎樣獲取ServletContext
在ServletConfig詳解中,我們對ServletConfig的方法有了了解,其中有一個方法getServletContext(),它的返回值就是一個ServletContext對象。其實并不只有這一種方法可以獲取ServletContext對象,總共有如下四種方式:
(1)調(diào)用ServletConfig類的getServletContext()方法
在init(ServletConfig config)方法中,使用ServletContext context=config.getServletContext();
(2)調(diào)用GenericServlet類的getServletContext()方法
其實這種方式也是調(diào)用ServletConfig類的getServletContext()方法,因為GenericServlet類實現(xiàn)了ServletConfig接口;
(3)調(diào)用HttpSession類的getServletContext()方法:
HttpSession也是一個接口,我們會在后面講這個接口,它有一個方法可以獲取到ServletContext對象;
(4)調(diào)用ServletContextEvent類的getServletContext()方法
ServletContextEvent類只有一個方法,就是getServletContext(),這個類我們后面也會講到。
本文版權(quán)歸黑馬程序員Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:黑馬程序員Java培訓(xùn)學(xué)院
首發(fā):http://javaee.itheima.com/