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
- Persistent Cookie: En permanent cookie lagras pรฅ din enhet under en viss tid, hjรคlpping webbplatser kommer ihรฅg dina preferenser och inloggningsuppgifter.
- 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
- Skapar cookie-objektet
- Stรคlla in maxรฅldern
- 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:
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.


