正如Adeel Ansari, here 所解释的,这取决于您在servlet 代码中调用getInitParameter() 方法的对象。
所有 servlet 都从 GenericServlet 扩展而来,因此是 GenericServlet 的实例。
.
DD 元素<context-param> 可以通过以下方式检索:
ServletContext context = this.getServletContext();
String paramValue = context.getInitParamter("paramName");
.
DD 元素<init-param> 都可以通过以下方式检索:
ServletConfig config = this.getServletConfig();
String paramValue = config.getInitParamter("paramName");
还要注意,由于GenericServlet 类实现了ServletConfig 接口,因此您的servlet 类也是ServletConfig(隐含this = this.getServletConfig())。因此,您也可以通过以下方式直接获取 DD 元素 <init-param>:
String paramValue = this.getInitParamter("paramName");
.
您可以通过在具有不同值的两个 DD 元素中使用相同的 param-name 来尝试此操作,然后将其打印到您的 servlet 中。