所以我有這個小小的代碼:何時/如何Tomcat選擇ServletContext接口的具體類?
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
throws ServletException, IOException {
final ServletContext servletContext = getServletContext();
System.out.println(servletContext.getClass());
}
}
打印出:
class org.apache.catalina.core.ApplicationContextFacade
所以ServletContext的是一個接口,這意味着的getServletContext()方法返回一個接口。所以Tomcat的不知道怎麼樣什麼具體類(ApplicationContextFacade在這種情況下)使用?它如何或何時決定?
從來沒有想過,但我確信,tomcat將在部署web-app時簡單創建一個ServletContect實例。具體實現是在org.apache.catalina.core.ApplicationContextFacade –
+1內使用'final'本地。 –
@ErikAllik我只鍵入sout並按下「TAB」,它自動轉換爲System.out.println(「」);我的光標已經在雙引號之間了。 :) 謝謝。 –