Concepto de Session

Yorch
07 de Septiembre del 2005
Alguien q me explique , por favor, el concepto de Session y como se emplea. Si se puede mostrar un ejemplo seria excelente.(Servlets)

Alberto
07 de Septiembre del 2005
public final static String getLoginName HttpServletRequest request) {HttpSession session = request.getSession(false);if (session == null) {return null;} else { return (String) session.getAttribute(LOGIN_NAME_SESSION_ATTRIBUTE);}}}
--------------------------------------------------------------------------------
Page 48
Comentarios (1)El ejemplo, aparte de ilustrar el uso de sesiones, hace énfasis en el uso de sendRedirecty forwardsendRedirect. Le decimos al navegador que nos haga una nueva petición a otra URLforward. Nos movemos a otra URLOcurre dentro del servidor. Se conserva todo lo que había en la request. Útil para tratar errores en formularios. Los servlets de procesamiento enganchan el atributo errors(un Map) en la request. Los servlets que muestran formularios comprueban si la request incluye el atributo errors
--------------------------------------------------------------------------------
Page 49
Comentarios (2)Más sobre tipos de URLsLos tipos de URLs que hemos visto al principio de este apartado se refieren a las URLs en ficheros HTML, páginas JSP o respuestas generadas¿ Qué tipos de URLs acepta sendRedirect? Los tres tipos que conocemos hasta ahora. Lógico, pues un sendRedirectse usa para informar al navegador que nos haga una petición a otra URL¿ Qué tipos de URLs acepta forward?De tipo path relativo (sin salir de la aplicación)De tipo path relativo a contextoEmpiezan por “/” y no incluyen el nombre de la aplicaciónEj.: /Portal1/MainPageExiste otra manera de hacer forwardsdistinta a la mostrada en el ejemplo, que sólo acepta URLs de tipo path relativo a contextoServlet.getServletContext().getRequestDispatcher(String)
--------------------------------------------------------------------------------
Page 50
Comentarios (y 3)¿ Cuándo usar forwardy cuándo sendRedirect?En principio, un forward siempre es más rápido (ocurre en el servidor). Un forward es preciso cuando queremos enganchar atributos a la requestEj.: Tratamiento de errores en formularios. Para el resto de situaciones, es mejor usar un sendRedirect, dado que forwardno cambia la URL que muestra la caja de diálogo del navegador (el navegador no se entera de que se hace un forward), lo que será confuso si el usuario decide recargar la página (se invocará a la URL antigua que todavía muestra la caja de diálogo del navegador)