Mehmet Ethem SULAN :: Servlet ve JSP(Java Server Pages) :: Java Servlet ile Cookie Nasıl Oluşturulur(how to creating a cookie in servlet)

Web üzerinde çalışan uygulamalar bilgisayarınızdaki bilgileri veya dosyaalrı okuyamaz,silemez ve yenilerini kaydedemez.Bu şekilde güvenlik sağlanmıştır.Cookiler bu güvenlik protokolun istisnasıdır.Cookie’ler we uygulamaları tarafından ziyaretçi bilgisayarında oluşturulan text dosyalardır.Tarayıcısınızdan bakabilirsiniz bu dosyalara.Bunların büyükleri sınırlandırılmıştır güvenlik için.Ziyaretçi web sayfayı ziyaret ederken web uygulamamız ziyaretçi bilgisayarına bakar daha önce bir cookie var mı eğer yoksa ziyaretçiden elde edeceği bilgilerle bir cookie oluşturu ki daha sonraki gelişlerde bu kullanıcıyı tanısın.Amaçları kullanıcı ad ve parola hatırlamak, siteleri kişileştirmek, kullanıcının kaçıncı ziyareti, kullanıcıya özgün reklam görüntüleme … gibi işlemleri gerçekleştirmemizi sağlar.Servlet’te cookie oluşturma ve önemli metodları aşağıdaki gibidir.

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class CookieSeervleti extends HttpServlet {
 protected void processRequest(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter cikti = response.getWriter();
String kulAd=request.getParameter("ad").trim();
String kulSif=request.getParameter("parola").trim();
boolean ilkGirisMi=true;
if(kulAd.equals("ethem") & kulSif.equals("sulan")){
 //new ile yeni cookie oluşturulur.
Cookie koki=new Cookie("ethem", "sulan");
//kokiler default gecicidirler.setmaxAge() ile ne kadar süreyle
//oluşturulmalarını biz atıyoruz.Ne kadar aktif kalsın
koki.setMaxAge(60*60*24*52);
//oluşturulan cookie kullanıcıya gönderilir.
//Cookiler kullanıcı bilgisayarında tutulur
response.addCookie(koki);
//Kullnıcı bilgisayarındaki kokileri bir koki dizisine atar.
//getCookies HttpServletRequest nesnesine aittir
 Cookie[] kuldakiKokiler=request.getCookies();
for (Cookie cookie : kuldakiKokiler) {
//cookie nin adı ve değerini if ile kontrol ediyoruz.
if(cookie!=null & cookie.getName().equals("ethem")&
        cookie.getValue().equals("sulan")){
 cikti.println("Ethem kullanıcısı geldi");
     ilkGirisMi=false;
       }
   }
    if(ilkGirisMi){
 cikti.println("Ethem SULAN ilk girisini gerceklestirdi");
    }
}else{
     cikti.println("Sizin icin cookie olusturulmadi");
      }
} 
   @Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
        processRequest(request, response);
//index.jsp deki form POST tur ve buraya yonlenir.
//Bu da yukardaki satir ile processRequest() metodunu cagirir
    } }

Orj kod:http://www.ethemsulan.pastebin.com/f1f34e1d1

Jps sayfasından form bilgileriyle bu kod ile servlete gidiyor.

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
JSP Page
<form action="http://localhost:8084/CookieOlusturma/CookieSeervleti"
      method="POST">
Kullanıcı Adi: <input type="text" name="ad" value="" />
Kullanıcı parola:<input type="password" name="parola" value="" />
            <input type="submit" value="Gonder" />
     

Orj Kod:http://www.ethemsulan.pastebin.com/f2c403184

Write a Comment

Let me know what you think?