Hacer formularios web: Java vs HTML

Soy nuevo en la progtwigción y esta pregunta puede ser realmente estúpida, pero aún así quiero preguntar porque no sé qué prácticas son posibles y cuáles no. Usted ve, ahora mismo estoy estudiando J2EE básico. Nuestra tarea es hacer una aplicación basada en web utilizando JSP y servlets. Uno de mis problemas es hacer los formularios.

Sé que HTML es la mejor práctica para crear los formularios en JSP porque casi todas las personas lo están usando (según los ejemplos en los libros / Internet). Pero Java también tiene sus propias formas, que es Swing, AWT, y todo funcionó al usar los eventos. Si no quiero usar HTML, ¿puedo usar Swing / AWT de Java o solo para aplicaciones de escritorio? Además de lo que he mencionado, ¿qué más puedo usar?

Pero Java también tiene sus propias formas, que son JSwing, Swing, AWT y todo funcionó al usar los eventos.

Sí, Java tiene muchos componentes en Swing y AWT.
Y tanto Swing como los componentes AWT admiten el manejo de eventos.
Pero nunca he oído hablar de JSwing.

Si no quiero usar HTML, ¿puedo usar JSwing / Swing / AWT de Java o solo para aplicaciones de escritorio?

Swing y AWT son solo para la aplicación de escritorio.
Pero como dijo Orbit

En Appletz? – Órbita

Definitivamente puede usar componentes Swing en un applet y luego insertar el applet en su página JSP.

Sé que HTML es la mejor práctica para crear formularios en JSP

Usar HTML será mucho más fácil que usar Applet para crear un formulario

Como dijo Andrew

Los applets son un PITA para desarrollar e implementar, y la mayoría de los usuarios prefieren HTML puro (o HTML dynamic, usando JavaScript) para los applets.

De lo que estás hablando se llama Rich Internet Applications RIA . Estas son aplicaciones web que hacen que sus páginas web se vean como aplicaciones de escritorio. Puede lograr esto con Grails y Flex , GWT y JavaFX . Hay una serie de entornos muy interesantes y geniales que puede usar como Vaadin , Open Laszlo , basado en GWT. GWT y los marcos basados ​​en él generan JavaScript y producen resultados separados para cada entorno de navegador.

Estas son las herramientas para el futuro. Realmente no entiendo por qué estas tecnologías aún no son comunes.

Aquí hay una lista de los diversos marcos de RIA disponibles. Espere dar la bienvenida a los recién llegados en SourceForge en el futuro cercano.

Puede probar Wicket , parece transferir la caducidad de su escritorio a la web

Quizás necesite pensar en qué se está ejecutando y cómo se comunican esos progtwigs. Cuando desarrolla una aplicación web, coordina una conversación entre (al menos) dos máquinas separadas.

  1. Por un lado, está ejecutando un servidor web, que sirve contenido estático (archivos simples que se acaban de enviar sin cambios) y contenido dynamic (esencialmente archivos que se crean solo cuando es necesario y que cambiarán según su situación). por ejemplo, una página de bienvenida que muestra el nombre del usuario). Plain HTML es contenido estático, JSP y servlets proporcionan contenido dynamic.

  2. Por otro lado, está ejecutando un navegador. El navegador puede mostrar contenido estático, ejecutar progtwigs de JavaScript integrados en esas páginas e incrustar tipos específicos de aplicaciones. Ejemplos de aplicaciones integradas son Flash y Applets.

Así que puede ser claro, JSP y Servlets NO se están ejecutando en la máquina cliente, solo entregan diferentes contenidos para que el navegador los muestre. Un progtwig J2EE no se entrega al cliente, simplemente se sienta en el servidor llevando a cabo un lado de la conversación con el navegador que lleva a cabo el otro lado.

Un formulario web es solo un trozo de HTML que le dice al navegador que muestre campos de texto, botones y otros controles. El navegador sabe todo sobre estas cosas, y no necesita escribir un progtwig para decirle qué hacer para mostrar un formulario y enviar el contenido de vuelta al servidor. No es necesario que un formulario simple sea dynamic; cada vez se hacen las mismas preguntas, para que pueda escribirlo en html puro.

Cuando el usuario envía el formulario, la información se transmite al servidor y tendrá que escribir un progtwig para recibir esa información y hacer algo con ella. Esa es la función del servlet, que puede recibir datos y responder, con otra página web, probablemente utilizando JSP para mostrar contenido dynamic (es decir, la respuesta al envío del formulario).

Si todo eso suena complicado, sin duda puede serlo. Existen varios marcos (Wicket, Struts, etc.) que intentan facilitar el desarrollo de aplicaciones web ocultando algunos de los detalles de la conversación y llevando a cabo tareas comunes automáticamente. Sin embargo, el mecanismo subyacente sigue siendo el mismo: el contenido del servidor se muestra en el navegador, que puede enviar mensajes como contenido de formularios o solicitudes de diferentes páginas. Comprender el mecanismo básico le permite tomar decisiones informadas sobre cómo puede hacer cosas más poderosas.

Las aplicaciones integradas le permiten ejecutar software más complejo en el cliente, para que pueda visualizar animaciones o controles personalizados. Sin embargo, el software SOLO se ejecuta en el cliente y aún necesita comunicar los datos al servidor. El servidor aún necesita ejecutar su propio software para recibir esa información y hacer algo con ella. Como tal, las aplicaciones integradas no facilitan su trabajo, pero le permiten un mayor control sobre cómo funcionan las cosas en el cliente. Sin embargo, un navegador web moderno le da mucho control sobre cómo se muestran y manejan los formularios, por lo que necesita una buena razón para deshacerse de eso y usar algo como Flash o un applet.

Para sitios web, siempre use HTML (y Javascript, para cosas como correcciones de entrada, alertas, etc.). Mientras menos uses Java y Flash, mejor. Tenga en cuenta que los sitios web deben ser rápidos y eficientes, los usuarios no quieren esperar minutos hasta que se cargue el applet de Java.

Te recomendaría que hicieras en HTML. Debido a que HTML puede hacer wonnders y puede dividir sus aplicaciones web de forma semastica mediante HTML. Y le recomiendo usar Wicket (es un framework), donde todos han sido divididos. Es decir, el diseño web se puede hacer por separado usando HTML, la presentación se puede hacer a través de CSS y el manejo del evento puede hacerse a través de JAVA. Y wicket se ocupa de todas estas conexiones también. Así que eche un vistazo en Wicket. ¡Y espero que te ayude!