Basi di Dati Web e Distribuite Laurea Specialitica
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Cookies: perché? J 0 1 Identificazione di un utente in una sessione di e-commerce. Customizzazione di un sito Pubblicità mirata Eliminazione di username e password
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Cookies: i metodi J 0 2 public void set. Comment(String c) public String get. Comment() public void set. Version(int c) public int get. Version () Version 0: Netscape standard Version 1: RFC 2109
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Cookies: i metodi J 0 3 public void set. Max. Age(int c) public int get. Max. Age() Positive value: secondi di vita 0: delete cookie Negative value: finchè dura la sessione del browser
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Cookies: i metodi J 0 4 public void set. Domain(String c) public String get. Domain() public void set. Path(int c) public int get. Path()
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Cookies: esempio J 0 5 Cookie user. Cookie = new Cookie(“user”, ”uid 1234”); user. Cookie. set. Max. Age(60*60*24*365); response. add. Cookie(user. Cookie);
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Set. Cookies J 0 6 import java. io. *; import javax. servlet. http. *; /** Sets six cookies: three that apply only to the current session * (regardless of how long that session lasts) and three that persist for an hour * (regardless of whether the browser is restarted). */ public class Set. Cookies extends Http. Servlet { public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws Servlet. Exception, IOException { for(int i=0; i<3; i++) { // Default max. Age is -1, indicating cookie // applies only to current browsing session. Cookie cookie = new Cookie("Session-Cookie-" + i, "Cookie-Value-S" + i);
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Set. Cookies J 0 7 cookie = new Cookie("Persistent-Cookie-" + i, "Cookie-Value-P" + i); // Cookie is valid for an hour, regardless of whether // user quits browser, reboots computer, or whatever. cookie. set. Max. Age(3600); response. add. Cookie(cookie); } response. set. Content. Type("text/html"); Print. Writer out = response. get. Writer(); String title = "Setting Cookies"; out. println (("<HTML><HEAD><TITLE>" +title+ “</TITLE></HEAD>" + "<BODY BGCOLOR="#FDF 5 E 6">n" +"<H 1 ALIGN="CENTER">" + title + "</H 1>n" +"There are six cookies associated with this page. n" + "</BODY></HTML>"); } }
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Show. Cookies J 0 8 import java. io. *; import javax. servlet. http. *; /** Creates a table of the cookies associated with the current page. */ public class Show. Cookies extends Http. Servlet { public void do. Get(Http. Servlet. Request request, Http. Servlet. Response response) throws Servlet. Exception, IOException { response. set. Content. Type("text/html"); Print. Writer out = response. get. Writer(); String title = "Active Cookies"; out. println(("<HTML><HEAD><TITLE>" +title+ “</TITLE></HEAD>" + "<BODY BGCOLOR="#FDF 5 E 6">n" + "<H 1 ALIGN="CENTER">" + title + "</H 1>n" + "<TABLE BORDER=1 ALIGN="CENTER">n" + "<TR BGCOLOR="#FFAD 00">n" + " <TH>Cookie Namen" + " <TH>Cookie Value");
“Basi di Dati Web e Distribuite” – Laurea Specialitica in Informatica – Università di Trento Marco Ronchetti - ronchet@dit. unitn. it Ó 2002 Show. Cookies J 0 9 Cookie[] cookies = request. get. Cookies(); Cookie cookie; for(int i=0; i<cookies. length; i++) { cookie = cookies[i]; out. println("<TR>n" + " <TD>" + cookie. get. Name() + "n" + " <TD>" + cookie. get. Value()); } out. println("</TABLE></BODY></HTML>"); } }
- Slides: 9