黑白差异

发布于 2024-08-17 13:52:52 字数 263 浏览 8 评论 0原文

DD 元素 都可以通过 Servlet 中的 getInitParameter() 方法检索代码。

现在的问题是,它如何区分

DD elements <context-param> and <init-param> both can be retrieved by the getInitParameter() method, in the servlet code.

Now the question is, how does it differentiate <context-param> and <init-param>?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

魄砕の薆 2024-08-24 13:52:52

Servlet 初始化参数仅适用于单个 Servlet。该 servlet 之外的任何内容都无法访问它。它在部署描述符的 标签内声明,而上下文初始化参数则用于整个 Web 应用程序。该 Web 应用程序中的任何 Servlet 或 JSP 都可以访问上下文初始化参数上下文参数直接在 标记内的标记 中声明。

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

getServletContext().getInitParameter("name"); 

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

getServletConfig().getInitParameter("name");

Servlet init parameters are for a single servlet only. Nothing outside that servlet can access that. It is declared inside the <servlet> tag of Deployment Descriptor, on the other hand context init parameter is for the entire web application. Any servlet or JSP in that web application can access context init parameter. Context parameters are declared in a tag <context-param> directly inside the <web-app> tag.

The methods for accessing context init parameter is

getServletContext().getInitParameter("name"); 

whereas the method for accessing servlet init parameter is

getServletConfig().getInitParameter("name");
方觉久 2024-08-24 13:52:52

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

所有 servlet 都继承自 GenericServlet,因此都是 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 元素中使用相同的参数名称来尝试此操作,然后在 servlet 中打印它。

As explained by Adeel Ansari, here, it depends on what object are you invoking the method getInitParameter() in the servlet code.

All servlets extends from and hence are instance of GenericServlet.

.

DD elements <context-param> can be retrieved by:

ServletContext context = this.getServletContext();
String paramValue = context.getInitParamter("paramName");

.

DD elements <init-param> both can be retrieved by:

ServletConfig config = this.getServletConfig();
String paramValue = config.getInitParamter("paramName");

Also note that since GenericServlet class implements ServletConfig interface, your servlet class is also ServletConfig (implies this = this.getServletConfig() ). Hence you can also get DD elements <init-param> directly by:

String paramValue = this.getInitParamter("paramName");

.

You can try this by having same param-name in both DD elements with different values and then print it in your servlet.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文