Saltar al contenido principal

Configuración de propiedades de webforJ

Abrir en ChatGPT

Para desplegar y ejecutar correctamente 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.

Configuración de webforj.conf​

El archivo webforj.conf es un archivo de configuración central en webforJ, que especifica configuraciones 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ónPor defecto
webforj.assetsCacheControlStringEncabezado Cache-Control para recursos estáticos.null
webforj.assetsDirStringEl nombre de la ruta utilizada para servir archivos estáticos, mientras que el nombre de la carpeta permanece como static. Esta configuración es útil si la ruta predeterminada static entra en conflicto con una ruta definida en tu aplicación, permitiéndote cambiar el nombre de la ruta sin renombrar la carpeta misma.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 pinge al servidor para verificar si está vivo. Para desarrollo, establece esto a un intervalo más corto, por ejemplo 8s, para detectar rápidamente la disponibilidad del servidor. Establece a 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 DWC. Por defecto, los componentes se cargan desde el servidor que aloja la aplicación. Sin embargo, establecer una ruta base personalizada permite que los componentes se carguen desde un servidor o CDN alternativo. 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 marco webforJ que se está utilizando; 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, esta configuración se puede gestionar con el STBL !COMPONENTS.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.devtools.craftforj.enabled 26.02BooleanSolo para entornos de desarrollo. Activa craftforJ, el entorno de desarrollo que inspecciona la aplicación en ejecución, edita propiedades de componentes y escribe cambios en el código fuente de Java. Requiere que webforj.debug esté habilitado también. Ninguna de las propiedades es suficiente por sí sola.false
webforj.devtools.craftforj.hosts-allowed 26.02ListaDirecciones de cliente permitidas para acceder a craftforJ más allá de la máquina que ejecuta la aplicación. Por defecto, solo un navegador en esa máquina puede acceder a él. Una entrada que termina en * coincide con un prefijo, y un único * elimina la restricción. Consulta seguridad de craftforJ.solo loopback
webforj.devtools.craftforj.source-changes 26.02BooleanSi craftforJ puede escribir cambios de propiedades y reglas de acceso a rutas en tu código fuente de Java.true
webforj.devtools.craftforj.stylesheet-changes 26.02BooleanSi craftforJ puede guardar temas y estilos en tu hoja de estilos de la aplicación.true
webforj.devtools.craftforj.ai.enabled 26.02BooleanSi el asistente de IA craftforJ está disponible.true
webforj.devtools.craftforj.ai.freeform-changes 26.02BooleanSi el asistente puede escribir Java por su cuenta en lugar de solo cambiar propiedades. Cada edición debe seguir compilando y aún necesita tu aprobación.true
webforj.devtools.project-root 26.03StringEl directorio que craftforJ busca para tus fuentes, en casos donde no puede determinar eso según cómo se inició la aplicación. Reemplaza webforj.devtools.craftforj.project-root, que está en desuso pero aún se lee cuando la clave no está establecida.detectado
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 posible punto de entrada, es necesario establecer esto explícitamente para evitar ambigüedades, o alternativamente, se puede usar la anotación AppEntry para especificar el punto de entrada en tiempo de ejecución.null
webforj.i18n.supported-locales 25.12ListaLista de locales admitidos como etiquetas de idioma BCP 47 (por ejemplo, "en", "en-US", "fr", "de-DE"). Cuando la detección automática está habilitada, las preferencias de idioma del navegador se comparan con esta lista. El primer idioma en la lista se utiliza como el predeterminado. Consulta Traducción.[]
webforj.i18n.auto-detect 25.12BooleanCuando es true, el idioma de la aplicación se establece automáticamente a partir del idioma preferido del navegador al iniciar. El idioma se resuelve al comparar los idiomas preferidos del navegador con la lista de supported-locales. Cuando es false o cuando supported-locales está vacío, la aplicación utiliza webforj.locale. Consulta Traducción.false
webforj.fileUpload.acceptListaTipos de archivo permitidos para cargas de archivos. Por defecto, se permiten todos los tipos de archivos. Los formatos compatibles incluyen tipos MIME como image/*, application/pdf, text/plain, o extensiones de archivo como *.txt. Al utilizar 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 utilizar una instalación estándar de BBj, esta configuración se desestima y se gestiona a través de fileupload-accept.txt.null
webforj.iconsDirStringPunto final de URL para el directorio de íconos (por defecto sirve desde resources/icons/).icons/
webforj.legacyHtmlInText 26.01BooleanCuando es true, un valor envuelto en <html> renderiza su contenido como HTML. Cuando es false, el mismo valor se muestra literalmente.true
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 para el inicio de la licencia en segundos.null
webforj.localeStringEl idioma de la aplicación, determinando idioma, configuraciones regionales 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 para entornos de desarrollo. En un entorno de desarrollo, recarga automáticamente la página ante errores relacionados con la redeploy caliente, pero no con otros tipos de error. Al utilizar redeploy caliente, si el cliente envía una solicitud al servidor mientras se está reiniciando, puede ocurrir un error mientras el archivo WAR se está intercambiando. Debido a que el servidor probablemente volverá a estar en línea pronto, esta configuración permite que el cliente intente una recarga automática de la página.false
webforj.security.maxContentLength 25.10IntegerLa solicitud más grande que la aplicación aceptará, en bytes, como protección contra solicitudes de tamaño excesivo destinadas a agotar la memoria del servidor. Establece en 0 para deshabilitar el límite.0
webforj.security.maxInitPerMinute 25.10IntegerCuántas nuevas sesiones de aplicación iniciará la aplicación cada minuto, como protección contra la creación rápida de sesiones para agotar los recursos del servidor. Establece en 0 para desactivar la limitación de velocidad.0
webforj.servlets[n].nameStringNombre del servlet (utiliza el nombre de la clase si no está especificado).null
webforj.servlets[n].classNameStringNombre de clase completamente calificado 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 en StringTable se puede encontrar aquí.{}
webforj.mime.extensionsMap<String,String>Mapeos de tipo MIME personalizados para extensiones de archivo al servir archivos estáticos. Te permite sobrescribir 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.{}

Configuración de 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 por defecto
<display-name>Establece el nombre de visualización para la aplicación web, típicamente 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 principal para manejar las solicitudes de webforJ. Este servlet está mapeado a todas las URL (/*), convirtiéndose en el principal punto de entrada para las solicitudes web.WebforjServlet
<load-on-startup>Especifica que WebforjServlet debe cargarse cuando la aplicación empieza. Establecer esto a 1 hace que el servlet se cargue inmediatamente, lo que mejora el manejo de la primera solicitud.1

Sigue aprendiendo

Equipo de webforJ

¿Necesitas ayuda?

Habla con los ingenieros de webforJ sobre tu proyecto.

Agendar una llamada

Hablamos EN · DE · FR · ES