Tengo una duda, si vuelvo a declarar un dispatcher como en esta linea RequestDispatcher dispatcher = request.getRequestDispatcher(“Welco...

Pregunta de la clase:
MVC en nuestra aplicación
Marco Godinez

Marco Godinez

Pregunta
student
hace 7 años

Tengo una duda, si vuelvo a declarar un dispatcher como en esta linea

RequestDispatcher dispatcher = request.getRequestDispatcher(“Welcome.jsp”);

se instancia un nuevo objeto, es decir se crea una copia que vuelve a ocupar otro espacio en memoria?, o solo hace referencia al que ya se había creado?

Igualmente comparto mi solución:

Login l = new Login(request.getParameter("name"), request.getParameter("password")); String redirectTo = l.authenticated() ? "welcome.jsp" : "error.jsp"; request.getRequestDispatcher(redirectTo).forward(request, response);
2 respuestas
para escribir tu comentario
    Dario Alejandro Tabares Diaz

    Dario Alejandro Tabares Diaz

    student
    hace 2 años

    Tienes errores de sintaxis:

    no estas usando llaves "{}" estas usando "[]"

    son distintos y no pongas ";" en los else

    Andres Giacosa

    Andres Giacosa

    student
    hace 7 años

    No se si entendí bien tu pregunta dado a que compartiste una solución al final que no tiene que ver con la pregunta en si…

    Voy a tratar de contestar lo que interpreto siendo literal con lo que preguntaste: no vas a poder declarar 2 objetos “dispatcher(no en el mismo bloque de construcción, o bloque anidado). Solo tendrás un único objeto con el nombre “dispatcher”, puedes crear nuevos objetos de tipo RequestDispatcher pero deberán tener otro nombre y éstos como bien dices serán una nueva instacia del objeto RequestDispatcher.

    Si declaras muchos objetos RequestDispatcher y los inicializas con los mismos datos seran instancias diferentes de objetos iguales que estarán en memoria.

    Espero haber podido ayudarte, si no era lo que tratabas de preguntar ayúdame a entender tu pregunta. Saludos!

Curso de Java EE 2017

Curso de Java EE 2017

Crea software en Java de nivel corporativo profesional. Programa apps del lado del servidor, nativas, con APIs seguras. Aprende a manipular bases de datos con Hibernate. Usa Spring, el framework más robusto de Java, para crear proyectos rápidos y confiables.

Curso de Java EE 2017
Curso de Java EE 2017

Curso de Java EE 2017

Crea software en Java de nivel corporativo profesional. Programa apps del lado del servidor, nativas, con APIs seguras. Aprende a manipular bases de datos con Hibernate. Usa Spring, el framework más robusto de Java, para crear proyectos rápidos y confiables.