如果没有初始化参数,Servlet Container 是否创建 ServletConfig 对象?

Does Servlet Container create ServletConfig object if there are no init-params?

我知道,当 Servlet Container 实例化 Servlet 对象时,它还会创建相应的 ServletConfig 对象,其中存储该 servlet 的所有初始化参数(稍后我们可以通过 .getServletConfig().getInitParameter(..)[=12 通过 servlet 获取) =]

我的问题是当我们在 servlet 元素中没有任何初始化参数时会发生什么?容器是否仍然创建没有 init-params 的 ServletConfig? .getSevletConfig() 不会 return null,所以我不确定调用此方法时是否在运行时创建了 ServletConfig,或者容器仍然创建了没有 init-params 的对象) 或者在这种情况下,容器不创建 ServletConfig 对象?如果是,为什么我们可能需要那个 ServletConfig 对象?

ServletConfig 不仅包含初始化参数,还包含对 ServletContext 和 servlet 名称的引用,因此即使没有指定初始化参数也是有意义的。