差异b / w 和
DD元素和
都可以通过servlet代码中的
getInitParameter()
方法检索。
现在的问题是,它如何区分和
?
Servlet init参数仅适用于单个servlet。 该servlet之外的任何内容都无法访问它。 它在Deployment Descriptor的
标记内声明,另一方面, 上下文init参数用于整个Web应用程序。 该Web应用程序中的任何servlet或JSP都可以访问上下文init参数 。 上下文参数直接在
标记内的标记
中声明。
访问上下文init参数的方法是
getServletContext().getInitParameter("name");
而访问servlet init参数的方法是
getServletConfig().getInitParameter("name");
正如Adeel Ansari所解释的,这取决于你在servlet代码中调用getInitParameter()
方法的对象。
所有servlet都是从GenericServlet
扩展而来的。
。
DD元素
可以通过以下方式检索:
ServletContext context = this.getServletContext(); String paramValue = context.getInitParamter("paramName");
。
DD元素
都可以通过以下方式检索:
ServletConfig config = this.getServletConfig(); String paramValue = config.getInitParamter("paramName");
另请注意,由于GenericServlet
类实现了ServletConfig
接口,因此您的servlet类也是ServletConfig(暗示this = this.getServletConfig()
)。 因此,您还可以通过以下方式直接获取DD元素
:
String paramValue = this.getInitParamter("paramName");
。
您可以通过在具有不同值的两个DD元素中使用相同的param-name来尝试此操作,然后将其打印在servlet中。