首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >差异b/w <context-param>和<init-param>

差异b/w <context-param>和<init-param>
EN

Stack Overflow用户
提问于 2010-01-15 14:41:55
回答 2查看 18.9K关注 0票数 27

在servlet代码中,DD元素<context-param><init-param>都可以通过getInitParameter()方法进行检索。

现在的问题是,它如何区分<context-param><init-param>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-15 15:23:34

Servlet 初始化参数仅适用于单个servlet。servlet之外的任何东西都不能访问它。它是在部署描述符的<servlet>标记中声明的,另一方面,上下文初始化参数用于整个web应用程序。web应用程序中的任何servlet或JSP都可以访问上下文初始化参数上下文参数直接在<web-app>标记内的标记<context-param>中声明。

访问上下文初始化参数的方法是

代码语言:javascript
复制
getServletContext().getInitParameter("name"); 

而访问servlet初始化参数的方法是

代码语言:javascript
复制
getServletConfig().getInitParameter("name");
票数 44
EN

Stack Overflow用户

发布于 2010-01-16 00:41:13

正如Adeel Ansari, here所解释的,这取决于您在servlet代码中调用方法getInitParameter()的对象。

所有servlets都是从GenericServlet扩展而来的,因此都是from的实例。

可以通过以下方式检索DD elements <context-param>

代码语言:javascript
复制
ServletContext context = this.getServletContext();
String paramValue = context.getInitParamter("paramName");

DD elements <init-param>都可以通过以下方式检索:

代码语言:javascript
复制
ServletConfig config = this.getServletConfig();
String paramValue = config.getInitParamter("paramName");

还要注意,由于GenericServlet类实现了ServletConfig接口,因此您的servlet类也是ServletConfig (意味着this = this.getServletConfig() )。因此,您还可以通过以下方式直接获取DD elements <init-param>

代码语言:javascript
复制
String paramValue = this.getInitParamter("paramName");

您可以尝试在两个具有不同值的DD元素中使用相同的param-name,然后在servlet中打印它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2069902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档