开发者社区> 问答> 正文

关于Servlet编程中的getServletContext方法?

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

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

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

展开
收起
蛮大人123 2016-03-10 18:18:15 2087 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    个人观点:
    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方法,从这个方法里面返回的就是启动时加载的标准上下文。

    2019-07-17 18:58:07
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载