Personal tools
You are here: Home Departaments Informàtica DAI C8 Unitat Didàctica 3: Servlets i JSP Cookies i sessions
Document Actions

Cookies i sessions

Cookies i sessions amb JEE

Cookies

API classe Cookie: http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/Cookie.html
  • Per recuperar les cookies: suposem que request és l'objecte de tipus HttpRequest corresponent a la petició:
// retorna array de tipus Cookie amb les cookies de la petició
cookies = request.getCookies()
  • Per desar una cookie: suposem que response és l'objecte de tipus HttpResponse corresponent a la petició i cookie l'objecte de tipus Cookie corresponent a la cookie que volem desar al navegador:
response.addCookie(cookie)

Sessions

API classe HttpSession: http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html

  • .setAttribute(String nom,Object objecte) -> void posa un objecte amb el nom especificat a la sessió
  • .getAttribute(String nom) -> Object retorna l'objecte associat al nom (haurem de fer casting, sinó excepció!)
  • .getAttributeNames() -> Enumeration amb els noms de tots els objectes de la sessió
  • .removeAttribute(nom) -> void esborra l'objecte de la sessió
  • .getId() -> String amb l'identificador de sessió
  • .isNew() -> booleà que ens diu si el client ja ha vist o no la sessió
  • .getCreationTime() -> long amb quan es va crear la sessió (passar el valor al constructor de Date per retornar data)
  • .getLastAccessedTime() -> long amb quan es va accedir a la sessió per últim cop
  • .getMaxInactiveInterval() -> int amb el número de segons màxim que el servidor aguanta la sessió
  • .setMaxInactiveInterval(int numsegons) -> void posem el número de segons màxim que el servidor aguanta la sessió

Per configurar el temps de caducitat de la sessió:
  • pel programa: session.setMaxIanctiveInterval(int numsegons)
  • al fitxer web.xml de l'aplicació (el número està en minuts):
<web-app>
...
<session-config>
<sesssion-timeout>20</session-timeout>
</session-config>
</web-app>
  • al web.xml del servidor (idem, busquem el paràmetre que ja hi serà i el canviem)