Örnekli JSP'de Çerezler

Çerezler nelerdir?

  • Çerezler, istemci makinede saklanan metin dosyalarıdır.
  • Çeşitli amaçlarla bilgileri izlemek için kullanılırlar.
  • Servlet teknolojisini kullanarak HTTP çerezlerini destekler
  • Çerezler HTTP Başlığında ayarlanır.
  • Tarayıcı çerezleri saklayacak şekilde yapılandırılmışsa bilgileri son kullanma tarihine kadar saklar.

JSP'deki Çerez Türleri

  1. Kalıcı Çerez: Kalıcı çerez, belirli bir süre boyunca cihazınızda saklanır ve web sitelerinin tercihlerinizi ve oturum açma bilgilerinizi hatırlamasına yardımcı olur.
  2. Kalıcı Olmayan Çerez: Kalıcı olmayan çerez ise geçicidir ve tarayıcınızı kapattığınızda silinir. Çoğunlukla oturum takibi için kullanılır.

JSP Çerez Yöntemleri

Çerez yöntemleri şunlardır:

  • Genel void setDomain(Dize alanı)

    Bu JSP seti çerezi, çerezin uygulanacağı etki alanını ayarlamak için kullanılır

  • Genel Dize getDomain()

    Bu JSP get çerezi, çerezin geçerli olduğu etki alanını almak için kullanılır

  • Genel void setMaxAge(int süre sonu)

    Çerezin süresi dolana kadar uygulanması gereken maksimum süreyi ayarlar

  • Genel intgetMaxAge()

    JSP'deki maksimum çerez yaşını döndürür

  • Genel Dize getName()

    Çerezin adını döndürür

  • Genel void setValue(Dize değeri)

    Çerezle ilişkili değeri ayarlar

  • Genel Dize getValue()

    Çerezle ilişkili değeri alın

  • Genel void setPath(Dize yolu)

    JSP'deki bu set çerezi, çerezin uygulanacağı yolu belirler

  • Genel Dize getPath()

    Çerezin uygulandığı yolu alır

  • Genel void setSecure(Boole bayrağı)

    Şifreli bağlantılar üzerinden gönderilmeli veya gönderilmemelidir.

  • Genel void setComment(String cmt)

    Çerezin amacını açıklar

  • Genel Dize getComment()

    Tanımlanan çerez yorumlarını döndürür.

JSP'de Çerezler Nasıl Kullanılır?

  1. Çerez nesnesini oluşturma
  2. Maksimum yaşın ayarlanması
  3. Çerezin HTTP yanıt başlıklarında gönderilmesi

Örnek E-posta

Bu JSP çerezleri örneğinde, kullanıcı adı ve e-posta çerezleri oluşturarak JSP'de çerez oluşturucusunu nasıl çağıracağımızı, çereze 10 saat boyunca yaş ekleyip action_cookie.jsp dosyasındaki değişken adlarını almaya çalışacağız.

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>

Kodun açıklaması

Action_cookie.jsp

Kod Satırı 10-15: Burada action_cookie_main.jsp'de işlenmesi gereken bir form alıyoruz. Ayrıca, kullanıcıdan bir submit butonu ile girdi alınması gereken iki alan olan "username" ve "email"i alıyoruz.

Action_cookie_main.jsp

Kod Satırı 6-9: request.getParameter kullanılarak “username” ve “email” adlı iki çerez nesnesi oluşturuluyor.

Kod Satırı 12-13: Burada 10 saatlik oluşturulan her iki çereze de yaş ekliyoruz yani çerezlerin süresi o yaşta dolacaktır.

Kod Satırı 16-17: Kullanıcı adı ve e-posta oturumuna çerezler eklenerek bu iki çerezin getParameter() tarafından istendiğinde getirilmesi sağlanabilir.

Çıktı

Yukarıdaki kodu çalıştırdığınızda aşağıdaki çıktıyı alırsınız:

JSP Çerez Yöntemleri

JSP Çerez Yöntemleri

action_cookie.jsp'yi çalıştırdığımızda kullanıcı adı ve e-posta olmak üzere iki alan alırız ve kullanıcı girdisini alır ve ardından gönder düğmesine tıklarız. Değişkenlerin istemci tarafındaki çerez JSP'sinde saklandığı action_cookie_main.jsp'den çıktıyı alırız.