Общие init-параметры в web.xml для нескольких сервлетов Java?

Насколько я понимаю, init-params в файле web.xml должны быть помещены в тело переменной сервлета, например:

<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 сервлета, которые я хотел бы поделиться общими параметрами инициализации

1 ответ

Нет, вы не можете достичь этого с помощью сервлета init-param. Если вам нужен общий init-param для сервлетов, вы должны использовать параметры контекста.

Вот как вы можете это сделать:

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

И используйте ServletContext.getInitParameter() внутри сервлета.

Другие вопросы по тегам