Cookies i JSP med exempel

Vad รคr cookies?

  • Cookies รคr textfilerna som lagras pรฅ klientdatorn.
  • De รคr vana vid track informationen fรถr olika รคndamรฅl.
  • Den stรถder HTTP-cookies med hjรคlp av servletteknik
  • Cookies stรคlls in i HTTP-huvudet.
  • Om webblรคsaren รคr konfigurerad att lagra cookies kommer den att behรฅlla informationen tills utgรฅngsdatumet.

Typer av cookies i JSP

  1. Persistent Cookie: En permanent cookie lagras pรฅ din enhet under en viss tid, hjรคlpping webbplatser kommer ihรฅg dina preferenser och inloggningsuppgifter.
  2. Icke-persistent cookie: En icke-permanent cookie รคr tillfรคllig och raderas nรคr du stรคnger webblรคsaren, och anvรคnds huvudsakligen fรถr sessioner. trackung.

JSP Cookies Metoder

Fรถljande รคr metoderna fรถr cookies:

  • Public void setDomain(String-domรคn)

    Denna JSP set cookie anvรคnds fรถr att stรคlla in den domรคn som cookien gรคller

  • Public String getDomain()

    Denna JSP get-cookie anvรคnds fรถr att fรฅ den domรคn som cookien gรคller

  • Public void setMaxAge(int expiry)

    Den anger den maximala tiden som ska gรคlla tills cookien gรฅr ut

  • Public intgetMaxAge()

    Den returnerar den maximala รฅldern fรถr cookie i JSP

  • Public String getName()

    Det returnerar namnet pรฅ cookien

  • Public void setValue(Strรคngvรคrde)

    Stรคller in vรคrdet som รคr kopplat till cookien

  • Public String getValue()

    Fรฅ vรคrdet som รคr kopplat till cookien

  • Public void setPath(Strรคngsรถkvรคg)

    Denna set-cookie i JSP anger sรถkvรคgen till vilken cookie gรคller

  • Public String getPath()

    Den fรฅr vรคgen som cookien gรคller

  • Public void setSecure(Boolesk flagga)

    Det ska skickas รถver krypterade anslutningar eller inte.

  • Public void setComment(String cmt)

    Den beskriver cookiens syfte

  • Public String getComment()

    Det returnerar cookie-kommentarerna som har beskrivits.

Hur man hanterar cookies i JSP

  1. Skapar cookie-objektet
  2. Stรคlla in maxรฅldern
  3. Skickar cookien i HTTP-svarsrubriker

Exempelvis

I det hรคr JSP-cookiesexemplet kommer vi att lรคra oss hur man anropar cookie constructor i JSP genom att skapa cookies med anvรคndarnamn och e-post, och lรคgga till รฅlder till cookien i 10 timmar och fรถrsรถka fรฅ variabelnamnen i 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>

Fรถrklaring av koden

Action_cookie.jsp

Code Rad 10-15: Hรคr tar vi ett formulรคr som mรฅste bearbetas i action_cookie_main.jsp. Dessutom tar vi tvรฅ fรคlt "anvรคndarnamn" och "e-post" som mรฅste tas in frรฅn anvรคndaren med en skicka-knapp.

Action_cookie_main.jsp

Code Rad 6-9: Skapa tvรฅ cookieobjekt av "anvรคndarnamn" och "e-post" med request.getParameter.

Code Rad 12-13: Hรคr lรคgger vi till รฅlder till bรฅda kakorna, som har skapats pรฅ 10 timmar, dvs cookies kommer att fรถrfalla under den รฅldern.

Code Rad 16-17: Att lรคgga till cookies till sessionen fรถr anvรคndarnamn och e-post och dessa tvรฅ cookies kan hรคmtas pรฅ begรคran av getParameter().

Produktion

Nรคr du kรถr ovanstรฅende kod fรฅr du fรถljande utdata:

JSP Cookies Metoder

JSP Cookies Metoder

Nรคr vi kรถr action_cookie.jsp fรฅr vi tvรฅ fรคlt anvรคndarnamn och e-post, och det krรคvs input frรฅn anvรคndaren och sedan klickar vi pรฅ skicka-knappen. Vi fรฅr utdata frรฅn action_cookie_main.jsp dรคr variabler lagras i cookies JSP pรฅ klientsidan.

Sammanfatta detta inlรคgg med: