Örnekli JSP'de Çerezler
⚡ Akıllı Özet
JSP çerezleri, JSP uygulamalarına yardımcı olmak için istemci tarayıcısında saklanan küçük metin dosyalarıdır. tracjavax.servlet.http.Cookie API'sini ve standart yanıt başlıklarını kullanarak k oturumu yönetebilir, kullanıcı tercihlerini hatırlayabilir ve birden fazla HTTP isteğinde yanıtları kişiselleştirebilirsiniz.
JSP Çerezleri Nedir?
JSP çerezleri, JSP tabanlı bir web sunucusunun istemci tarayıcısından kullanıcı cihazında saklamasını istediği küçük metin dosyalarıdır. HTTP durumsuz bir protokol olduğundan, JSP çerezleri, oturum açma durumu, dil seçimi, tema veya mağaza gibi bilgileri istekler arasında hatırlamanın basit ve standart tabanlı bir yolunu sağlar.ping Sepet tanımlayıcıları.
- JSP çerezleri, tarayıcı tarafından istemci makinede saklanan düz metin dosyalarıdır.
- Bunlar için kullanılırlar tracOturum yönetimi, kişiselleştirme ve analiz için k bilgileri.
- JSP, temelindeki Servlet teknolojisi ve javax.servlet.http.Cookie sınıfı aracılığıyla HTTP çerezlerini destekler.
- JSP Çerezleri transmitEşleşen her istekte HTTP istek ve yanıt başlıklarına eklenir.
- Tarayıcı çerezleri kabul edecek şekilde yapılandırıldığında, setMaxAge ile belirlenen son kullanma tarihine kadar bunları diskte saklar.
JSP Çerezleri Neden Kullanılır?
JSP geliştiricileri, HTTP isteklerinin birbirinden bağımsız olması nedeniyle çerezlere güvenirler. JSP çerezleri olmadan, sunucu iki isteğin aynı ziyaretçiye ait olduğunu bilemezdi. JSP'deki çerezler, sunucu tarafındaki durumu minimuma indirgeyerek bu sorunu çözer.
- oturum trackral: JSESSIONID çerezi, birden fazla sayfa görüntülemesini tek bir mantıksal oturuma bağlar.
- Kişiselleştirme: JSP çerezleri dil, tema veya düzen tercihlerini saklayabilir.
- Kimlik doğrulama yardımcıları: "Beni hatırla" belirteçleri ve oturum açma durumu, HttpOnly ve Secure bayrakları etkinleştirildiğinde genellikle çerezlerde saklanır.
- Analytics: JSP'deki çerezler, geri dönen ziyaretçileri, yönlendirenleri ve dönüşüm yollarını kaydeder.
JSP Çerezlerinin Türleri
- Kalıcı Çerez: Kalıcı bir JSP çerezi, setMaxAge ile belirlenen süre boyunca cihazda saklanır. Bu çerez, uygulamanın tarayıcı yeniden başlatıldığında bile tercihleri ve oturum açma bilgilerini hatırlamasına yardımcı olur.
- Kalıcı olmayan çerez: Oturum çerezi olarak da adlandırılan kalıcı olmayan bir JSP çerezi, yalnızca tarayıcı belleğinde bulunur ve kullanıcı tarayıcıyı kapattığında silinir. Çoğunlukla kısa süreli oturumlar için kullanılır. trackral.
JSP Çerez Yöntemleri
`javax.servlet.http.Cookie` sınıfı, JSP çerezleriyle çalışırken en sık kullanılan aşağıdaki yöntemleri sunar.
-
public void setDomain(String domain)
Bu JSP çerez ayarlama yöntemi, JSP çerezinin uygulanacağı etki alanını belirler.
-
public String getDomain()
Bu JSP get cookie yöntemi, JSP çerezinin geçerli olduğu etki alanını döndürür.
-
public void setMaxAge(int expiry)
Bu ayar, JSP çerezinin süresinin dolmasından önce geçecek maksimum süreyi saniye cinsinden belirler. Sıfır değeri çerezi siler, negatif bir değer ise onu oturum çerezi yapar.
-
public int getMaxAge()
Bu, JSP çerezinin maksimum geçerlilik süresini saniye cinsinden döndürür.
-
public String getName()
Bu, JSP çerezinin adını döndürür.
-
public void setValue(String value)
JSP çerezine ilişkin değeri ayarlar.
-
public String getValue()
JSP çerezine karşılık gelen değeri döndürür.
-
public void setPath(String path)
JSP yöntemindeki bu çerez ayarı, URL Çerezin uygulanacağı yol.
-
public String getPath()
Geri döndürür URL JSP çerezinin uygulanacağı yol.
-
public void setSecure(boolean flag)
Bu, JSP çerezinin yalnızca şifrelenmiş HTTPS bağlantıları üzerinden gönderilmesini sağlayacak şekilde işaretlenir.
-
public void setComment(String cmt)
Bu, JSP çerezinin amacını açıklamaktadır.
-
public String getComment()
Bu, JSP çerezini açıklayan yorumu döndürür.
JSP Çerezleri Nasıl Yönetilir?
JSP çerezleriyle çalışmak üç tekrarlanabilir adımdan oluşur. Aynı yöntem giriş durumu, tema değişiklikleri ve mağaza için de kullanılır.ping arabaları.
- Cookie yapıcı metodunu kullanarak JSP Cookie nesnesini oluşturun.
- Çerez özelliklerini, özellikle maksimum yaş, yol ve güvenlik işaretlerini yapılandırın.
- `response.addCookie` yöntemini kullanarak çerezi HTTP yanıt başlıkları aracılığıyla tarayıcıya gönderin.
JSP Çerezi Nasıl Oluşturulur?
Yeni bir JSP çerezi, `javax.servlet.http.Cookie` sınıfından bir isim ve değer atanarak oluşturulur. Ardından çerez, tarayıcının saklaması için yanıt nesnesine eklenir.
JSP Çerezleri Nasıl Okunur?
Sonraki her istekte, tarayıcı eşleşen JSP Çerezlerini sunucuya geri gönderir. Sayfa, `request.getCookies` yöntemini çağırarak bu çerezleri okur; bu yöntem bir Çerez nesneleri dizisi döndürür. Uygulama daha sonra diziyi yineleyerek her çerezi adına göre arar ve değerini kullanır.
JSP Çerezini Nasıl Silebilirsiniz?
Bir JSP çerezini silmek için, sunucu aynı ada sahip yeni bir çerez oluşturur, değerini boş bir dizeye ayarlar, setMaxAge yöntemini sıfır değeriyle çağırır ve bunu yanıta ekler. Ardından tarayıcı, bir sonraki yanıtta saklanan çerezi kaldırır.
JSP'de Çerez Örneği
Bu JSP Çerezleri örneğinde, uygulama kullanıcı adı ve e-posta için iki çerez oluşturur, bunları on saat boyunca aktif tutar ve ardından action_cookie_main.jsp adlı ikinci bir sayfada değerlerini geri okur.
Action_cookie.jsp
<%-- Action_cookie.jsp: input form for JSP Cookies demo --%> <%@ 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 JSP 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>
Açıklaması Code
Action_cookie.jsp
Code 10. ila 15. satırlar: Bu sayfa, action_cookie_main.jsp'ye gönderilen bir form tanımlar. Kullanıcı adı ve e-posta olmak üzere iki giriş alanı, bir gönder düğmesiyle birlikte kullanıcıdan veri toplar.
Action_cookie_main.jsp
Code 6. ila 9. satırlar: Form tarafından gönderilen değerleri okumak için request.getParameter kullanılarak username ve email olmak üzere iki Cookie nesnesi oluşturulur.
Code 12. ila 13. satırlar: setMaxAge metodu, 60 ile 60'ın çarpımının ve ardından 10'un çarpımıyla çağrılır ve bu işlem her bir JSP çerezinin ömrünü on saate ayarlar.
Code 16. ila 17. satırlar: İki çerez, response.addCookie ile yanıta eklenir. Tarayıcı daha sonra bunları sonraki isteklerde geri gönderir ve sunucu, geçerli istek için request.getCookies veya request.getParameter kullanarak bunları okur.
Çıktı
Yukarıdaki kodu çalıştırdığınızda aşağıdaki çıktıyı alırsınız.
action_cookie.jsp çalıştırıldığında, tarayıcıda kullanıcı adı ve e-posta olmak üzere iki alan görüntülenir. Kullanıcı bu alanları doldurup Gönder düğmesine tıkladıktan sonra, action_cookie_main.jsp sunucuda ilgili JSP çerezlerini oluşturur, istemcide saklar ve çerezlerin başarıyla oluşturulduğunu doğrulayarak değerlerini görüntüler.
JSP Çerezleri İçin En İyi Uygulamalar
Modern web uygulamaları, JSP çerezlerini güvenlik açısından hassas veriler olarak ele almalıdır. Aşağıdaki uygulamalar, mevcut Servlet 4.x ve Servlet 5.x dağıtımlarıyla uyumludur.
- Yalnızca HttpOnly kullanın: İstemci tarafındaki komut dosyalarının bunları okuyamaması için kimlik doğrulama çerezlerini HttpOnly olarak işaretleyin.
- Güvenli Kullanım: setSecure(true) fonksiyonunu çağırarak çerezleri yalnızca HTTPS üzerinden gönderin.
- SameSite'ı kullanın: Siteler arası istek sahteciliğini önlemek için SameSite özniteliğini (Lax veya Strict) kapsayıcı veya yanıt başlıkları aracılığıyla yapılandırın.
- Değerleri düşük tutun: Çerezde bir tanımlayıcı saklayın ve verileri sunucu tarafındaki depolama alanında tutun.
- Açık bir son kullanma tarihi belirleyin: Tarayıcılar arasında öngörülebilir davranış için setMaxAge özelliğini kullanın.



