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.


