Hola!
Tengo unos problemillas con el concepto de sesiones en servlets y jsp.
1.-En servlets por ejemplo no entiendo, muy bien como van las llamadas settAtribute.
Ejemplo:
static final String CLAVE_NOMBRE="CLAVE.Nombre";
static final String CLAVE_CORREO="CLAVE.Correo";
static final String PARAMETRO_NOMBRE = "Nombre";
static final String PARAMETRO_CORREO = "Correo";
........
HttpSession s=req.getSession(true);
...
String nomb = req.getParameter(PARAMETRO_NOMBRE);
String correo = req.getParameter(PARAMETRO_CORREO);
...
if (nomb == null)
{
nomb = (String)s.getAttribute(CLAVE_NOMBRE);
correo = (String)s.getAttribute(CLAVE_CORREO);
}
s.setAttribute( (CLAVE_NOMBRE), nomb);
s.setAttribute( (CLAVE_CORREO), correo);
...
out.println("<html>");
out.println("<head>");
out.println("<title>Registro</title>");
out.println("</head>");
out.println("<body>");
out.println("Datos del cliente " );
out.println("<h2>Nombre " + nomb + "</h2>");
out.println("<h2>Correo " + correo + "</h2>");
out.println("<P><A HREF='./Registro'> Despedida </A></P>");
out.println("</body>");
out.println("</html>");
en esta llamada setAttribute, ¿ CLAVE_NOMBRE se almacenara en nomb, o el contenido de nomb se almacena en CLAVE_NOMBRE? ¿como funciona el setAttribute?
2.-¿El metodo sendRedirect es un metodo propio de los JSP o tambien se puede usar en los servlets? ¿El sendRedirect seria un metodo alternativo a la llamada out.println("<P><A HREF='./Registro'> Despedida </A></P>"); (del codigo remarcado en negrita arriba)? ¿es decir las 2 llamadas hacen lo mismo?
3.-¿Cuando conviene + utilizar un servlet y cuando un JSP? JSP lo utilizas cuando quieres mostrar algo en HTML, pero es que con un sevlet tambien puedes meter codigo HTML y mostrarlo.
4.- ¿El metodo RequestDispatcher es un metodo mas propio de utilizar cuando vas a aplicar el patron Modelo-Vista-Controlador que cuando vas a realizar servlets o JSP `s "sueltos" ?
Gracias y un saludo.