programación - spring java tutorial
Servlets de Java: almacenamiento de una lista de valores en web.xml(múltiples param-value para nombre de parámetro único) (3)
Pon cada param en su propia línea. Hice lo siguiente recientemente y funciona bien:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/spring-beans.xml
/WEB-INF/security-config.xml
</param-value>
</context-param>
Estoy creando un servlet que necesita cargar información de configuración. Parte de la información de configuración que necesito es una lista de cadenas (específicamente, una lista de nombres de host y / o URL).
Esperaba almacenar esta información en el archivo web.xml de mi servlet (para no tener que escribir mi propio analizador) como un parámetro de contexto o un param-init; esencialmente param-value múltiples para un solo nombre de parámetro.
Ejemplo de lo que me gustaría:
<context-param>
<param-name>validHosts</param-name>
<param-value>example1.com</param-value>
<param-value>example2.com</param-value>
<param-value>example3.com</param-value>
</context-param>
Mi investigación inicial parece indicar que esto no es posible, que solo puede haber un único valor de parámetro para cualquier nombre de parámetro (dentro de contexto-param o init-param).
Sé que podría usar una lista delimitada dentro de un solo valor de parámetro, pero ¿es realmente esa mi única opción si todavía quiero usar web.xml? ¿Debo dejar de lloriquear y escribir mi propio analizador de archivos de configuración?
Sí, solo use delimitadores (ya que no hay otras opciones disponibles para esto):
<context-param>
<param-name>validHosts</param-name>
<param-value>example1.com,example2.com,example3.com</param-value>
</context-param>
then simply
String[] validHosts = param.split(","); // not really much to do
La especificación del servlet dice que puede tener solo un valor para cualquier parámetro de contexto . Entonces, te queda ir con la lista delimitada solamente.
<context-param>
<param-name>validHosts</param-name>
<param-value>example1.com,example2.com,.....</param-value>
</context-param>