【问题标题】:How are ServletConfig and ServletContext Objects createdServletConfig 和 ServletContext 对象是如何创建的
【发布时间】:2015-07-27 13:48:34
【问题描述】:

在 Servlet 中,我们有 ServletConfig 和 ServletContext。通过API,我看到两者都是接口。以下是我的疑问

1.ServletConfig和ServletContext是接口,如果是接口,这些对象是如何创建的?

2.是容器的类实现了这些接口并提供了实现吗?

3.在哪里可以找到ServletConfig和ServletContext的实例化代码?

4. ServletConfig 和 ServletContext 究竟是什么时候创建的。

我还读到有 SerlvetContextListener,它有方法 context Created() 和 contextDestroyed()。并且这些方法在服务器启动时被调用。这是我们如何知道 ServletContext 对象已创建的方式吗?仅仅阅读这本书并没有让我清楚地了解 ServletConfig 和 ServletContext。想知道这些代码是如何创建的。有人可以解释或提供链接,以便我可以通过并获得清晰的图片

【问题讨论】:

    标签: servlets servletcontextlistener servletconfig


    【解决方案1】:

    1.ServletConfig和ServletContext是接口,如果是接口,这些对象是如何创建的?

    实现由容器提供。见ApplicationContexttomcat 中使用的类

    2.是容器的类实现了这些接口并提供了实现吗?

    同#1

    3.在哪里可以找到ServletConfig和ServletContext的实例化代码?

    在 grep 代码中搜索tomcat-core jar,你可以找到实现。我链接了上面的 ServletContext 实现。

    4. ServletConfig 和 ServletContext 究竟是什么时候创建的。

    ServletContext 是一个应用程序级对象,而 ServletConfig 是每个 Servlet。两者都将在您的应用程序加载时创建。

    我还读到有 SerlvetContextListener 并且它有方法 上下文 Created() 和 contextDestroyed()。而这些方法被称为 服务器启动时。我们是这样知道的吗 ServletContext 对象是否已创建?

    创建一个示例应用并添加一个 ServletContextListener。请参阅示例here。您可以在 contextInitialized 和 Destroyed 方法中添加日志以查看它们何时被调用。

    【讨论】:

      猜你喜欢
      • 2011-05-12
      • 2011-10-08
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多