uso tutorial programación principiantes para mvc framework español ejemplos edicion desarrollo cuarta con books accion java web-applications servlets web.xml

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>