7

私の現在の理解では、web.xml の init-params は、次のようにサーブレット変数の本体に配置する必要があります。

<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 をサーブレット本体の外に持ってくると、getInitParam() を呼び出したときにそれが認識されなくなります

共通の初期パラメータを共有したい3つのサーブレットがあるので、それが可能かどうか疑問に思っています

4

1 に答える 1

11

いいえ、サーブレットのinit-paramを使用してこれを実現することはできません。サーブレット間で共通のinit-paramが必要な場合は、コンテキストパラメータを使用する必要があります。

これがあなたがそれをすることができる方法です:

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

また、サーブレット内でServletContext.getInitParameter()を使用します。

于 2012-11-07T05:34:02.423 に答える