Soubory cookie v JSP s příkladem
Co jsou cookies?
- Cookies jsou textové soubory, které jsou uloženy na klientském počítači.
- Používají se ke sledování informací pro různé účely.
- Podporuje HTTP cookies pomocí technologie servletů
- Soubory cookie se nastavují v záhlaví HTTP.
- Pokud je prohlížeč nakonfigurován pro ukládání cookies, uchová informace až do data vypršení platnosti.
Typy souborů cookie v JSP
- Trvalý soubor cookie: Trvalý soubor cookie zůstává uložen ve vašem zařízení po nastavenou dobu a pomáhá webům zapamatovat si vaše preference a přihlašovací údaje.
- Netrvalý soubor cookie: Netrvalý soubor cookie je dočasný a smaže se, jakmile zavřete prohlížeč, používá se hlavně pro sledování relací.
Metody souborů cookie JSP
Níže jsou uvedeny metody souborů cookie:
-
Veřejné void setDomain (String doména)
Tento soubor cookie JSP se používá k nastavení domény, na kterou se soubor cookie vztahuje
-
Veřejný řetězec getDomain()
Tento soubor cookie JSP get se používá k získání domény, na kterou se cookie vztahuje
-
Veřejná void setMaxAge (int expirace)
Nastavuje maximální dobu, která by měla platit do vypršení platnosti souboru cookie
-
Public intgetMaxAge()
Vrací maximální stáří souboru cookie v JSP
-
Veřejný řetězec getName()
Vrátí název souboru cookie
-
Public void setValue (hodnota řetězce)
Nastavuje hodnotu přidruženou k souboru cookie
-
Veřejný řetězec getValue()
Získejte hodnotu spojenou se souborem cookie
-
Veřejné void setPath (cesta řetězce)
Tato sada cookie v JSP nastavuje cestu, na kterou se cookie vztahuje
-
Veřejný řetězec getPath()
Získá cestu, na kterou se cookie vztahuje
-
Veřejné void setSecure (logický příznak)
Mělo by být odesláno přes šifrovaná spojení, nebo ne.
-
Public void setComment(String cmt)
Popisuje účel cookie
-
Veřejný řetězec getComment()
Vrací komentáře cookie, které byly popsány.
Jak zacházet s cookies v JSP
- Vytvoření objektu cookie
- Nastavení maximálního věku
- Odeslání souboru cookie v hlavičkách odpovědi HTTP
Příklad
V tomto příkladu souborů cookie JSP se naučíme, jak zavolat konstruktor souborů cookie v JSP vytvořením souborů cookie s uživatelským jménem a e-mailem a přidáním stáří do souboru cookie na 10 hodin a pokusem o získání názvů proměnných v souboru action_cookie.jsp
Action_cookie.jsp.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie</title> </head> <body> <form action="action_cookie_main.jsp" method="GET"> Username: <input type="text" name="username"> <br /> Email: <input type="text" name="email" /> <input type="submit" value="Submit" /> </form> </body> </html>
Action_cookie_main.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% Cookie username = new Cookie("username", request.getParameter("username")); Cookie email = new Cookie("email", request.getParameter("email")); username.setMaxAge(60*60*10); email.setMaxAge(60*60*10); // Add both the cookies in the response header. response.addCookie( username ); response.addCookie( email ); %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Cookie JSP</title> </head> <body> <b>Username:</b> <%= request.getParameter("username")%> <b>Email:</b> <%= request.getParameter("email")%> </body> </html>
Vysvětlení kódu
Action_cookie.jsp
Řádek 10–15 kódu: Zde přebíráme formulář, který musí být zpracován v action_cookie_main.jsp. Také bereme dvě pole „uživatelské jméno“ a „e-mail“, která musí být převzata od uživatele pomocí tlačítka Odeslat.
Action_cookie_main.jsp
Řádek 6–9 kódu: Vytvoření dvou objektů cookie „username“ a „email“ pomocí request.getParameter.
Řádek 12–13 kódu: Zde přidáváme věk k oběma souborům cookie, které byly vytvořeny po 10 hodinách, tj. v tomto věku vyprší platnost souborů cookie.
Řádek 16–17 kódu: Přidání souborů cookie do relace uživatelského jména a e-mailu a tyto dva soubory cookie mohou být načteny na žádost getParameter().
Výstup
Když spustíte výše uvedený kód, získáte následující výstup:
Když spustíme action_cookie.jsp, dostaneme dvě pole uživatelské jméno a e-mail a vyžaduje vstup uživatele a poté klikneme na tlačítko Odeslat. Získáme výstup z action_cookie_main.jsp, kde jsou proměnné uloženy v cookies JSP na straně klienta.