1~

Minter Coder's Blog

5-Jsp & Servlet Cookies

2021-01-15

Arkadaşlar merhaba bu derste jsp & servlette cookies mantığı işlenecektir.

Öncelikle cookie nedir neden kullanılır ?

Cookiler text dosyalarıdır ve bunlar kullanıcının web browserinde depolanır.Örnek gösterimi ;

HTTP/1.1 200 OK
Date: Fri, 04 Jan 2021 21:03:38 GMT
Server: Apache/2.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name = cookieismi; expires = Friday, 04-Feb-2027 22:03:38 GMT; 
   path = /; domain = junioryazilim.com
Connection: close
Content-Type: text/html

Şimdi biz nasıl sevlette bir cookie oluştururuz , nasıl görürüz ve nasıl sileriz bu işlemleri göreceğiz hemen bakalım.

 

Cookie oluşturmak : Cookie oluşturmak için Cookie adlı classı kullanacağız.Aslında aşağıdaki fotoğraf her şeyi anlatıyor :)

Arkadaşlar yukarıda sizde cookieName olmayabilir ben önceden denediğim için yazıyor :) Gördüğünüz gibi first_name adlı bir cookie oluşturdum değerini Kerem diğerinin de Kağan bıraktık setMaxAge olarak da 24 saat verdik saniye cinsinden tabi sonra addCookie diyerek web browsera depolaması için response gönderdik

// ADDING
Cookie cookie = new Cookie("first_name","Kerem");
Cookie cookie2 = new Cookie("last_name","Kagan");
cookie.setMaxAge(60 * 60 * 24);
cookie2.setMaxAge(60 * 60 * 24);
response.addCookie(cookie);
response.addCookie(cookie2);

Cookieleri okumak : Cookieleri okumak için bu sefer cookiler ile ilgili bir dizi oluşturacağız.

Reading kısmında da görüldüğü gibi getCookies ile cookileri alıyoruz ve getName ile cookienin ismini value ile de değerini alıyoruz.

// READING
Cookie[] cookies = request.getCookies();
for(int i = 0;i<cookies.length;i++) {
writer.print("Cookies name -> "+cookies[i].getName());
writer.print("Cookies value -> "+cookies[i].getValue());
writer.print("<br/>");
}

 Cookieleri silmek : Cookieleri silmek için ise basit bir kodumuz var ;

 

// DELETING
cookie.setMaxAge(0);
response.addCookie(cookie);

Olay bu kadar basit :)

 

Arkadaşlar bu ders bu kadardı kodları en alta atıyorum bir sonraki dersimizde görüşmek üzere :)

package com.kerem;
 
import java.io.IOException;
import java.io.PrintWriter;
 
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@WebServlet("/Cookies")
public class Cookies extends HttpServlet {
private static final long serialVersionUID = 1L;
 
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/* Yapısı
 
Cookie cookie = new Cookie(key,value);
setMaxAge(saniye cinsinden ne kadar cookieyi tutacağı.)
response.addCookie ile de cookimizi web browsere gönderiyoruz.
*/
PrintWriter writer = response.getWriter();
writer.print("<html><head><title>Cookie</title></head>");
 
// ADDING
Cookie cookie = new Cookie("first_name","Kerem");
Cookie cookie2 = new Cookie("last_name","Kagan");
cookie.setMaxAge(60 * 60 * 24);
cookie2.setMaxAge(60 * 60 * 24);
response.addCookie(cookie);
response.addCookie(cookie2);
 
// DELETING
cookie.setMaxAge(0);
response.addCookie(cookie);
 
// READING
Cookie[] cookies = request.getCookies();
for(int i = 0;i<cookies.length;i++) {
writer.print("Cookies name -> "+cookies[i].getName());
writer.print("Cookies value -> "+cookies[i].getValue());
writer.print("<br/>");
}
writer.print("</html>");
}
 
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
 
}