Paso de variables en una aplicación web Java

Hola vengo del mundo de las apps y me está costando un poco la verdad esto de pasar variables entre mi servidor y el cliente. Os explico mi problema que creo que es muy básico a ver como se hace. Tengo una pagina web, que pide unos datos a mi servidor, este los procesa y luego se los devuelve a la página web del cliente. El problema es que mientras se está procesando la web se pone en espera y luego no se, desde el servidor, cómo volver a activar la web, porque no se como pasarle algo para que le diga que se active.

Si os sirve, la parte del cliente la construyo con freemarker, y la parte del servidor con Java (sparkjava), pero bueno ya se que mucha gente utiliza JavaScript y PHP, luego ya lo adapto.

Muchas gracias y felices fiestas

Respuestas

#1

No es posible contestar a esta pregunta de forma específica, porque los detalles dependen de tu aplicación ... pero en plan genérico, la idea es que desde el navegador se va a hacer una petición HTTP a tu servidor (así puedes obtener el valor de las variables que te pasan) y luego tu debes devolver al navegador una respuesta HTTP (así le pasas información al navegador o incluso le puedes pasar una página HTML completa).

En la práctica, lo que hacen los frameworks web es dar un objeto Request y tú debes generar de alguna manera un objeto de tipo Response (donde incluyes la información que quieres enviar al navegador). En el caso concreto de Spark Framework, este ejemplo de su documentación lo muestra en la práctica:

import static spark.Spark.*;
 
public class HelloWorld {
    public static void main(String[] args) {
        get("/hello", (req, res) -> "Hello World");
    }
}

La petición te la dan en el objeto req y tú puedes manipular la respuesta con el objeto res. Los detalles de la implementación dependen de tu aplicación: ¿utilizas GET o POST para pasar las variables? ¿Quieres devolver al navegador la información como un documento JSON, una página HTML completa, etc.?

Por suerte la documentación de Spark Framework es muy buena, así que te recomiendo que eches un vistazo a la documentación oficial y a los tutoriales.