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
// ADDINGCookie 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.
// READINGCookie[] 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 ;
// DELETINGcookie.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>");// ADDINGCookie 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);// DELETINGcookie.setMaxAge(0);response.addCookie(cookie);// READINGCookie[] 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 {}}