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