Quizás tenga que pensar qué se está ejecutando en dónde y cómo se comunican esos programas. Cuando desarrolla una aplicación web, coordina una conversación entre (al menos) dos máquinas separadas.
Por un lado, se está ejecutando un servidor web, que sirve contenido estático (archivos simples que solo se envían sin cambios) y el contenido dinámico (esencialmente los archivos que se construye sólo cuando sea necesario, y que cambiará según su situación, por ejemplo, una página de bienvenida que muestre el nombre del usuario). Plain HTML es contenido estático, JSP y servlets proporcionan contenido dinámico.
Por otro lado, está ejecutando un navegador. El navegador puede mostrar contenido estático, ejecutar programas de JavaScript integrados en esas páginas e incrustar tipos específicos de aplicaciones. Ejemplos de aplicaciones integradas son Flash y Applets.
Por lo que puede ser claro, JSP y servlets no se están ejecutando en la máquina cliente, que acaba de entregar un contenido diferente para el navegador que se vea. Un programa 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 simplemente un trozo de HTML que le indica al navegador que muestre campos de texto, botones y otros controles. El navegador sabe todo sobre estas cosas, y no necesita escribir un programa para decirle qué hacer para mostrar un formulario y enviar el contenido de vuelta al servidor. No es necesario que un formulario simple sea dinámico; 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 programa 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 dinámico (es decir, la respuesta al envío del formulario).
Si todo esto 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.
No puede usar el componente Swing en una página JSP? – Alpine
@ Alpine en Appletz? – Orbit
@Orbit Solo puedo usar HTML? – newbie