¿Cuál es la mejor manera de desarrollar una aplicación web Java para crear formularios dinámicos y recuperarlos de una base de datos?

La * mejor * manera de hacer esto está en debate, creo que Timothy Mugayi mencionó algunas formas válidas.

TLDR; La lista de consideraciones es muy extensa, todo depende de su definición de * mejor *.

Aquí hay algunas opciones:

  1. Velocidad al mercado
  2. Mantenibilidad a largo plazo
  3. Costo total
  4. Escalabilidad
  5. Actuación
  6. etc.

Si desea una velocidad de comercialización más rápida y no le importa la mantenibilidad, la ruta JSP es muy rápida, pero incluso más rápida sería usar algún tipo de marcado que ayude con los widgets.

Si desea Mantenimiento a largo plazo, probablemente quiera crear una API que JavaScript pueda consumir. En estos días eso sería una API RESTfull. Vea mis respuestas sobre la respuesta de David Talalayevsky a ¿Cómo es para usted un buen diseño de API relajante? y la respuesta de David Talalayevsky a ¿Cuáles son algunas de las prácticas de desarrollo de software utilizadas al construir microservicios? para más sobre estos.

Si necesita escalar, definitivamente querrá dividir su API y el desarrollo front-end para que cualquier contenido estático pueda residir más cerca del usuario.

Si desea rendimiento, deberá asegurarse de minimizar el uso de bases de datos y sistemas de archivos tradicionales. Utilice el almacenamiento en caché y la memoria RAM tanto como sea posible y escriba en tiendas persistentes lo menos posible. Considere eventualmente almacenes de datos distribuidos consistentes.

Sí, podrías. Existe la vieja escuela, si tuvieras jsp en el front-end interactuando con tus ejbs de backend. Eso es si no necesita nada lujoso, solo contenido dinámico en la actualización del navegador. Tendrás que encargarte de representar los componentes de la interfaz de usuario tú mismo, por ejemplo, cuadros de texto, CSS, etc.

Alternativamente, puede explorar el uso de la primavera con la API de descanso. El resto de la API buscaría su esquema de formularios utilizando el esquema json de su base de datos. Front end usaría el editor json para generar dinámicamente su formulario. El editor Json es lo suficientemente bueno para casos de uso simples para formularios dinámicos. Para ver la lista de componentes de la interfaz de usuario, puede ver el enlace a continuación.

Ejemplo de editor JSON avanzado

Spring convencional mvc + taglib es otro enfoque, aunque similar a mi primera sugerencia.