Javada Cookie Olayı
Cookie yani türkçesiyle çerez bir web projesinin client tarafında veri tutmamazı sağlar. Sitemize bir defa login olmuş aynı zamanda kullanıcı giriş bilgilerini hatırla olarak seçmiş kullanıcılar sitemize tekrar giriş yapmak istediklerinde cookie bilgilerinden login bilgilerini set edebiliriz. Ayrıca cookie'leri farklı işlemlerde de kullanabiliriz. Bu işlemlere örnek verecek olursak: Şifremi hatırla, ziyaret sırasında seçmiş olduğu temayı hatırla , sitede gezinirken kullanmış olduğu dil seçeneğini hatırla vs.
Doğrudan koda geçelim: Kullandım teknoloji seam framework(JSF 1.2)
Hikayemiz şöyle eğer kullanıcı sitemize login olurken beni hatırla seçeneğini seçerse kullanıcı adı ve şifresini cookie atacağız,
sonrak site ziyaretimiz sayfamız yüklenirken kayıtlı cookiesi varmı die kontrol edip varsa kullanıcı adı şifresini değişkenlerimize
set edeceğiz.
Eğer remember me seçilmişse login olurken çağırmamız gereken cookie ekleme methodunuz:
public void addCookie() {
FacesContext facesContext = FacesContext.getCurrentInstance();
Cookie cokname = new Cookie("ncokame", credentials.getUsername());//username name cookiesine set ediyoruz
Cookie cokpasswd = new Cookie("cokpass", credentials.getPassword());//passwordude pass cookisine set edioruz
cokname.setMaxAge(360);
cokpass.setMaxAge(360);
((HttpServletResponse) facesContext.getExternalContext().getResponse()).addCookie(cokname);
((HttpServletResponse) facesContext.getExternalContext().getResponse()).addCookie(cokpass);
System.out.println("@Cookie added");
}
Cookiemizi ekledik şimdi bunu ziyaretcimiz sitemizi tekrar ziyaret ederken okuyup gerekli değişkenlere set etmemizin zamanı geldi:
Sayfamız yüklenirken çağırmamız gereken gerekn check cookie methodumuz aşağıda:
public void checkCookie() {
FacesContext facesContext = FacesContext.getCurrentInstance();
String cookieName = null;
Cookie cookie[] = ((HttpServletRequest) facesContext.getExternalContext().getRequest()).getCookies();
if (cookie != null && cookie.length > 0) {
for (int i = 0; i < cookie.length; i++) {
cookieName = cookie[i].getName();
if (cookieName.equals("cokuser")) {
credentials.setUsername( cookie[i].getValue());
} else if (cookieName.equals("cokpasswd")) {
credentials.setPassword(cookie[i].getValue());
}
}
System.out.println("@Cookie set edildi.");
} else
System.out.println("Cannot find any cookie");
}
İşte bu kadar basit bir cookie uygulaması yapmış olduk:)
Etiketler :


