7

我目前的理解是 web.xml 中的 init-params 必须放在 servlet 变量的主体中,如下所示:

<servlet>
    <servlet-name>MyServlet</servlet-name>
    <servlet-class>MyServlet</servlet-class>

    <init-param>
        <description>debug</description> 
        <param-name>debug</param-name> 
        <param-value>true</param-value> 
    </init-param>   
</servlet>

哪个工作正常,但是如果我将 init-param 带到 servlet 主体之外,那么当我调用 getInitParam() 时它不再识别它

只是想知道这是否可能,因为我有 3 个 servlet,我想共享通用的 init 参数

4

1 回答 1

11

不,您无法使用 servlet init-param 实现这一点。如果你想跨 servlet 使用通用的 init-param,你应该使用上下文参数。

您可以这样做:

<context-param>
    <description>debug</description> 
    <param-name>debug</param-name> 
    <param-value>true</param-value>
</context-param>

并且,在 servlet 中使用ServletContext.getInitParameter() 。

于 2012-11-07T05:34:02.423 回答