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)
