关于Servlet编程中的getServletContext方法?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于Servlet编程中的getServletContext方法?

蛮大人123 2016-03-10 18:18:15 1319

在源码中,getServletContext()方法的代码如下:

public ServletContext getServletContext() {
    return getServletConfig().getServletContext();
    }

那么,其中getServletConfig()是得到ServletConfig,但是ServletConfig是一个接口,且其中并没有ServletContext啊,就算是ServletConfig的实现类GenericServlet中,也没有ServletContext啊,那这个ServletContext是怎么取出来的呢?请问是不是inti(ServletConfig config)方法接收到的传自Tomcat服务器的那个config其实是一个特殊的实现类?

应用服务中间件
分享到
取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:58:07

    个人观点:
    ServletContext可以理解成应用程序上下文。
    我们都知道tomcat启动的时候会去加载web.xml

    tomcat启动web.xml配置文件加载流程(具体不细说,可以看源码):
    1.StandardContext.java⇒startInternal
    2.LifecycleBase.java⇒fireLifecycleEvent
    3.LifecycleSupport.java⇒fireLifecycleEvent
    4.ContextConfig.java⇒lifecycleEvent⇒configureStart

    接下来看ServletContext接口类的实现类ApplicationContext下面的getContext方法,从这个方法里面返回的就是启动时加载的标准上下文。

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题