Saltar al contenido principal

Configuración de propiedades de webforJ

Abrir en ChatGPT

Para implementar y ejecutar con éxito una aplicación webforJ, se requieren un par de archivos de configuración clave: webforj.conf y web.xml. Cada uno de estos archivos controla diferentes aspectos del comportamiento de la aplicación, desde puntos de entrada y configuraciones de depuración hasta asignaciones de servlets.

Configurando webforj.conf

El archivo webforj.conf es un archivo de configuración principal en webforJ, que especifica los ajustes de la aplicación, como puntos de entrada, modo de depuración e interacción cliente-servidor. El archivo está en formato HOCON y debe estar ubicado en el directorio resources.

sugerencia

Si estás integrando con Spring, puedes establecer estas propiedades de webforj.conf en el archivo application.properties.

Ejemplo de archivo webforj.conf

# Este archivo de configuración está en formato HOCON:
# https://github.com/lightbend/config/blob/master/HOCON.md

webforj.entry = com.webforj.samples.Application
webforj.debug = true
webforj.reloadOnServerError = on
webforj.clientHeartbeatRate = 1s

Opciones de configuración

PropiedadTipoExplicaciónPredeterminado
webforj.assetsCacheControlStringEncabezado Cache-Control para recursos estáticos.null
webforj.assetsDirStringEl nombre de ruta utilizado para servir archivos estáticos, mientras que el nombre de la carpeta sigue siendo static. Esta configuración es útil si la ruta predeterminada static entra en conflicto con una ruta definida en tu aplicación, lo que te permite cambiar el nombre de la ruta sin renombrar la carpeta en sí.null
webforj.assetsExtStringExtensión de archivo predeterminada para archivos estáticos.null
webforj.assetsIndexStringArchivo predeterminado servido para solicitudes de directorio (por ejemplo, index.html).null
webforj.clientHeartbeatRateStringEl intervalo en el que el cliente envía un ping al servidor para ver si aún está activo. Para desarrollo, establece esto en un intervalo más corto, por ejemplo 8s, para detectar rápidamente la disponibilidad del servidor. Establecer en 50 segundos o más en producción para evitar solicitudes excesivas.50s
webforj.componentsStringCuando se especifica, la ruta base determina de dónde se cargan los componentes de DWC. Por defecto, los componentes se cargan desde el servidor que aloja la aplicación. Sin embargo, establecer una ruta base personalizada permite cargar componentes de un servidor alternativo o CDN. Por ejemplo, para cargar componentes desde jsdelivr.com, establece la ruta base en: https://cdn.jsdelivr.net/gh/webforj/dwc-dist@1.0.0-${webforj.version}. Es importante que los componentes cargados sean compatibles con la versión del framework webforJ en uso; de lo contrario, la aplicación puede no funcionar como se espera. Esta configuración se desestima cuando se utiliza una instalación estándar de BBj sin el motor. Para una instalación estándar de BBj, la configuración se puede gestionar con el !COMPONENTS STBL.null
webforj.debugBooleanHabilita el modo de depuración. En modo de depuración, webforJ imprimirá información adicional en la consola y mostrará todas las excepciones en el navegador. El modo de depuración está deshabilitado por defecto.null
webforj.entryStringDefine el punto de entrada de la aplicación especificando el nombre completamente calificado de la clase que extiende webforj.App. Si no se define un punto de entrada, webforJ escaneará automáticamente el classpath en busca de clases que extiendan webforj.App. Si se encuentran múltiples clases, ocurrirá un error. Cuando un paquete incluye más de un punto de entrada potencial, se requiere establecer esto explícitamente para prevenir ambigüedades, o alternativamente, se puede usar la anotación AppEntry para especificar el punto de entrada en tiempo de ejecución.null
webforj.fileUpload.acceptListLos tipos de archivo permitidos para cargas de archivos. Por defecto, se permiten todos los tipos de archivos. Los formatos admitidos incluyen tipos MIME como image/*, application/pdf, text/plain, o extensiones de archivo como *.txt. Al usar una instalación estándar de BBj, esta configuración se desestima y se gestiona a través de fileupload-accept.txt.[]
webforj.fileUpload.maxSizeLongEl tamaño máximo de archivo permitido para cargas de archivos, en bytes. Por defecto, no hay límite. Al usar una instalación estándar de BBj, esta configuración se desestima y se gestiona a través de fileupload-accept.txt.null
webforj.iconsDirStringEndpoint de URL para el directorio de íconos (predeterminado sirve desde resources/icons/).icons/
webforj.license.cfgStringEl directorio para la configuración de la licencia. Por defecto, es el mismo que el directorio de configuración de webforJ, pero esto se puede personalizar si es necesario."."
webforj.license.startupTimeoutIntegerTiempo de espera de inicio de licencia en segundos.null
webforj.localeStringEl locale para la aplicación, determinando la configuración de idioma, región y formatos para fechas, horas y números.null
webforj.quietBooleanDesactiva la imagen de carga durante el inicio de la aplicación.false
webforj.reloadOnServerErrorBooleanSolo entornos de desarrollo. En un entorno de desarrollo, recarga automáticamente la página en errores relacionados con la redeploy caliente, pero no otros tipos de errores. Al usar redeploy caliente, si el cliente envía una solicitud al servidor mientras se reinicia, puede ocurrir un error mientras se intercambia el archivo WAR. Dado que el servidor probablemente estará en línea nuevamente en breve, esta configuración permite al cliente intentar una recarga de página automáticamente.false
webforj.servlets[n].nameStringNombre del servlet (usa el nombre de la clase si no se especifica).null
webforj.servlets[n].classNameStringNombre de clase completamente calificada del servlet.null
webforj.servlets[n].config.<key>Map<String,String>Parámetros de inicialización del servlet.null
webforj.sessionTimeoutIntegerDuración del tiempo de espera de la sesión en segundos.60
webforj.stringTableMap<String,String>Un mapa de pares clave-valor utilizados para almacenar cadenas para su uso en la aplicación. Útil para almacenar mensajes o etiquetas de la aplicación. Más información sobre StringTable se puede encontrar aquí.{}
webforj.mime.extensionsMap<String,String>Mapeos de tipo MIME personalizados para extensiones de archivo al servir archivos estáticos. Permite anular tipos MIME predeterminados o definir tipos MIME para extensiones personalizadas. La clave del mapa es la extensión de archivo (sin el punto), y el valor es el tipo MIME.{}

Configurando web.xml

El archivo web.xml es un archivo de configuración esencial para aplicaciones web en Java, y en webforJ, define configuraciones importantes como la configuración del servlet, patrones de URL y páginas de bienvenida. Este archivo debe estar ubicado en el directorio WEB-INF de la estructura de despliegue de tu proyecto.

ConfiguraciónExplicaciónValor Predeterminado
<display-name>Establece el nombre de visualización para la aplicación web, generalmente derivado del nombre del proyecto. Este nombre aparece en las consolas de gestión de los servidores de aplicaciones.${project.name}
<servlet> y <servlet-mapping>Define el WebforjServlet, el servlet central para manejar las solicitudes de webforJ. Este servlet está mapeado a todas las URLs (/*), lo que lo convierte en el punto de entrada principal para las solicitudes web.WebforjServlet
<load-on-startup>Especifica que WebforjServlet debe ser cargado cuando la aplicación se inicia. Establecer esto en 1 hace que el servlet se cargue inmediatamente, lo que mejora el manejo de solicitudes iniciales.1