Ö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
- 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.
- 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?
- Çerez nesnesini oluşturma
- Maksimum yaşın ayarlanması
- Ç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:
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.