Evästeet JSP:ssä esimerkin avulla
Mitä ovat evästeet?
- Evästeet ovat tekstitiedostoja, jotka tallennetaan asiakaskoneelle.
- Niitä käytetään tietojen seuraamiseen eri tarkoituksiin.
- Se tukee HTTP-evästeitä käyttämällä servlet-tekniikkaa
- Evästeet asetetaan HTTP-otsikossa.
- Jos selain on määritetty tallentamaan evästeitä, se säilyttää tiedot viimeiseen käyttöpäivään asti.
Evästeiden tyypit JSP:ssä
- Pysyvä eväste: Pysyvä eväste säilyy laitteellesi tietyn ajan, mikä auttaa verkkosivustoja muistamaan asetuksesi ja kirjautumistietosi.
- Ei-pysyvä eväste: Ei-pysyvä eväste on väliaikainen ja poistetaan, kun suljet selaimesi. Sitä käytetään pääasiassa istunnon seurantaan.
JSP-evästeiden menetelmät
Seuraavat ovat evästemenetelmät:
-
Public void setDomain (merkkijonoverkkotunnus)
Tätä JSP-evästettä käytetään määrittämään verkkotunnus, jota eväste koskee
-
Julkinen merkkijono getDomain()
Tätä JSP-hakuevästettä käytetään hankkimaan verkkotunnus, jota eväste koskee
-
Julkinen void setMaxAge(int expiry)
Se asettaa enimmäisajan, jonka tulee olla voimassa, kunnes eväste vanhenee
-
Julkinen intgetMaxAge()
Se palauttaa evästeen enimmäisiän JSP:ssä
-
Julkinen merkkijono getName()
Se palauttaa evästeen nimen
-
Public void setValue (merkkijonoarvo)
Asettaa evästeeseen liittyvän arvon
-
Julkinen merkkijono getValue()
Hanki evästeeseen liittyvä arvo
-
Public void setPath(merkkijonopolku)
Tämä asetettu eväste JSP:ssä määrittää polun, jota eväste koskee
-
Julkinen merkkijono getPath()
Se saa polun, jota eväste koskee
-
Public void setSecure (Boolen lippu)
Se tulee lähettää salattujen yhteyksien kautta tai ei.
-
Public void setComment(String cmt)
Se kuvaa evästeen tarkoitusta
-
Julkinen merkkijono getComment()
Se palauttaa kuvatut evästekommentit.
Kuinka käsitellä evästeitä JSP:ssä
- Evästeobjektin luominen
- Maksimi-iän asettaminen
- Eväste lähetetään HTTP-vastausotsikoissa
esimerkki
Tässä JSP-evästeesimerkissä opimme kutsumaan evästeiden rakentajaa JSP:ssä luomalla evästeitä käyttäjätunnuksesta ja sähköpostiosoitteesta ja lisäämällä evästeen iän 10 tunniksi ja yrittämällä saada muuttujien nimet tiedostossa 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>
Koodin selitys
Action_cookie.jsp
Koodirivit 10-15: Tässä otamme lomakkeen, joka on käsiteltävä tiedostossa action_cookie_main.jsp. Lisäksi otamme kaksi kenttää "käyttäjänimi" ja "sähköposti", jotka on otettava käyttäjältä lähetyspainikkeella.
Action_cookie_main.jsp
Koodirivit 6-9: Luodaan kaksi evästeobjektia "käyttäjänimi" ja "sähköposti" käyttäen request.getParameter.
Koodirivit 12-13: Tässä lisäämme molempien evästeiden ikää, jotka on luotu 10 tunnin pituisista eli evästeet vanhenevat siinä iässä.
Koodirivit 16-17: Evästeiden lisääminen käyttäjätunnuksen ja sähköpostin istuntoon ja nämä kaksi evästettä voidaan noutaa getParameter():n pyynnöstä.
ulostulo
Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:
Kun suoritamme action_cookie.jsp-tiedoston, saamme kaksi kenttää käyttäjänimi ja sähköpostiosoite, ja se vaatii käyttäjän syötteen ja sitten napsautamme Lähetä-painiketta. Saamme tulosteen action_cookie_main.jsp:stä, jossa muuttujat on tallennettu evästeiden JSP:hen asiakaspuolella.