Archive for the ‘ Servlet ve JSP(Java Server Pages) ’ Category

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 BilgiHatirlama extends HttpServlet {
protected void doPost(HttpServletRequest request, 
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter yaz = response.getWriter();
String kullaniciAdi, sifre, hatirlatma;
kullaniciAdi=request.getParameter("ad");
sifre=request.getParameter("parola");
hatirlatma=request.getParameter("bilgHatirla");
//checkbox seciliyse kulCookieIsmi ve kulCookieSifresi isminde
//iki cookie oluşturulur kullanıcı bilgisayarına
//response.addCookie(cookieSifre); ile gönderilir.
//kullaniciAdi ve sifre değerlerini içeriyorlar.
if(hatirlatma!=null){
Cookie cookieKullaniciAdi=new 
   Cookie("kulCookieIsmi", kullaniciAdi);
cookieKullaniciAdi.setMaxAge(900000);
 response.addCookie(cookieKullaniciAdi);
Cookie cookieSifre=new Cookie("kulCookieSifresi", sifre);
cookieSifre.setMaxAge(900000);
 response.addCookie(cookieSifre);
yaz.println("Bir daha ki sefere hatirlanirsiniz");
}else{
//eğer checkbpx seçili değilse boş cookiler gönderilir.
Cookie cookieKullaniciAdi=new Cookie("kulCookieIsmi", "");
cookieKullaniciAdi.setMaxAge(900000);
response.addCookie(cookieKullaniciAdi);
Cookie cookieSifre=new Cookie("kulCookieSifresi", "");
cookieSifre.setMaxAge(900000);
response.addCookie(cookieSifre);
 yaz.println("Bir daha ki sefere unutulursunuz");
 }
 yaz.println("
Tekrar Giris Icin:
" +
         "Yeniden Giris");
    } }

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

<%@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
        <%!
   String kullaniciAdi="", sifre="";
        %><%
//kullanıcı bilgisayarında var olan tüm cookileri bir diziye atar
//cookiler anahtar=değer şeklinde tutulurlar map ler gibi.
   Cookie[] cokieler=request.getCookies();
   for(int i=0;i<cokieler.length;i++){
   Cookie cokieAktif=cokieler[i];
   String isimAl=cokieAktif.getName();
  String degerAl=cokieAktif.getValue();
       %><%--
//dikkat BilgiHatirla ismindeki servletteki kullanıcı bilgisayarına
//kulCookieIsmi ismiyle cookiye oluşturulmuştu.Şimdi bu isimle alıyoruz.
//Bu değer şu an var olan tüm kullanıcı bilgisayarındaki cookilerle
//chechbox tıklşanmışsa bu isimAl ve degerAl gönderilen cookilerle
//eşleşir ve bir sonraki giriş için ad ve şifre hatırlnır.Yanı
//eşleşme olduğunda text alanına  value="" ve
// value="" yazılırlar
        --%> <%
if("kulCookieIsmi".equals(isimAl) & (degerAl!=null)){
    kullaniciAdi=degerAl;
}else if("kulCookieSifresi".equals(isimAl)& (degerAl!=null)){
     sifre=degerAl;
   }
   }//for() sonu
 %>
<form action="http://localhost:8084/KulBilgHatirlama/BilgiHatirlama"
      method="POST">







 
Kullanıcı Ismi: <input type="text" name="ad" value="">
Parolae: <input type="text" name="parola" value="">
Bir dahaki sefere beni hatirla <input type="checkbox" name="bilgHatirla">
<input type="submit" value="Gonder">

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

<%@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/OturumOlusturma/OturumServleti"
      method="POST">
<table border="1">Kullanıcı Adı:
<input type="text" name="ad">
Parola:<input type="password" name="parola">
<input type="submit" value="Sisteme Giris">

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class OturumServleti extends HttpServlet {
//form post metoduyla gonderilmiş
protected void doPost(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 kulParola=request.getParameter("parola").trim();
if("".equals(kulAd)| "".equals(kulParola)){
//kul adi veya parola null geçilemez
response.sendRedirect("index.jsp");
}else if(!kulAd.equals("ethem") & !kulParola.equals("sulan")){
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
//getSession(true) true olması oturum yoksa olustur
HttpSession oturum=request.getSession(true);
oturum.putValue("kulIsmi", kulAd);
oturum.putValue("kulSifre", kulParola);
//Bu ide kullaniciya ozgun olusturulur ve sunucda tutulur.
//suncu bu ideye bakarak kullanici farkli sayfalarda gezindiginde
//ayni kullanici oldugu anlasilir.
cikti.println("Kullanici İd-->"+oturum.getId());
cikti.println("
Girilen oturum ismi-->
"+oturum.getAttribute("kulIsmi"));
cikti.println("
Gezinebilirsin Her sayfada
");
//Checkbox seçili olduğundan oturum oluşturulduğundan cookie gibi
//kullanıcı adı ve parola yı hatırlıyor.Cookiler çok kullanışlı değiller
cikti.println("
Ana Sayfaya Git
");
        }    }  }

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class OturumServleti2 extends HttpServlet {
//doGet metoduyla alınmış.
protected void doGet(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter cikti = response.getWriter();
//Oturum bilgileri sunucuda tutulur ve ve kullanıcıyla ilişkilendirmek için de
//kullanıcı bilgisayarında ozel bir oturum kokisi oluşturulur.
//Bu kullanıcı ozel oturum kokisi kullanıcıya ozgü rasgtgele bir
//ide dir.Kullanıcı farklı sayfalarda gezindiğinde bu ide ile aynı kullanıc
//olduğunu anlar uygulama
//getSession(true) olmadığı için yeni bir oturum oluşturulmaz.
HttpSession oturum2=request.getSession();
if(oturum2.isNew()==false){
cikti.println("Kul tc no yani id-->"+oturum2.getId());
cikti.println("
Kul İsmi-->
"+oturum2.getAttribute("kulIsmi"));
//dikkat edin diğer sınıftaki oturum ismi ve idesine erişebiliyoruz.
cikti.println("Cik");
        }  } }
Orj kod:http://www.ethemsulan.pastebin.com/f2539878f

Session nesnesi bir uygulamaya bağlanma ile ayrılma arasında geçen sürede kullanıcıya ait bilgilerin ve uygulamada farklı sayfalara erişlemesini sağlar.Session cookilerden farklı kullanıcıya ait bilgileri sunucuda tutar.Bu sunucuda tutulan kullanıcıya ait bilgileri kullanıcıyala ilişkilendirmek için de kullanıcı bilgisayarında özel bir session cookiesi oluşturur.Bu session cookiesi rastgele üretilen bir idedir, tc no gibi.Bu kimnlik numarasından uygulama kullanıcıyı tanır.Bu id ya da tc no yeni oturum oluşturulduğunda yeniden üretilir.Yanı ben tarayıcımı kapatmadan çıkıp tekrar girersem hala benim idem aynıdır.Ama kodu derleyip bir daha girersem o zaman yeni bir oturum oluşturulur.Uygulama bu mantıkla çalışır.Yukradaki uygulamada iki farklı sayfada kullanıcıya ait ideye erişilmiş ve aynı olduğu gösterilmiştir ve kul adi=ethem ve paroal=sulan olursa session oluşturulur.

Daha önce response.sendRedirect(“index.jsp”); ile yönlendirmeyi yapmıştım.Burada da request.getRequestDispatcher(“index.jsp”).forward(request, response); şeklinde getRequestDispatcher nesnesiyle sunucu düzeyinde yönlendirme sağlayabiliriz.Bu kullanımla sayfa içeriği değişmesine adres çubuğundaki değer değişmez.Bu nesne bu işlemi forward() metodyla gerçekleştirilir.Resimde parola görünsün diye text yaptım.

tanımlayabilirsiniz.

indexsayfanınResmi

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class KontrolServleti extends HttpServlet {
protected void doPost(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 kulPar=request.getParameter("parola").trim();
if(kulAd.equals("ethem")& kulPar.equals("sulan")){
   cikti.println("Yonlendiriliyorsunuz..");
//Dikkat servletin sadece ismini yaziyorsunuz yani .java yazmiyorsunuz.
//Çunku tarayıcı da sadece ismini kullanır ama
request.getRequestDispatcher("IslemlerServleti").
        forward(request, response);
        }else{
//jsp sayfasını belirtirken index.jap yanı uzantıyı belirtiyorsunuz.
//ya d ahtmlSayfaIsmi.html şeklinde uzantıyı belirtmeniz lazım.Çünkü
//Tarayıcı bu uzantıları kullanıyor.
request.getRequestDispatcher("index.jsp"
        ).forward(request, response);
//Bu şekilde de yönlendirme sağlanabilir.Ama tarayıcı adres
//çubuğundaki değer değişir.getRequestDispatcher nesnesi ait
//forward() metodu ile ile sayfa içeriği değişmesine rağmane yönlendirme
//sunucu düzeyinde olduğundan adres çubuğundaki değer değişmez.
        //response.sendRedirect("index.jsp");
        }
//Dikkat bu doPost() metodu bu şekilde tanımlanmalı.
//çünkü jsp den gelen değer POST ile formdan geliyor
  } }

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class IslemlerServleti extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
   PrintWriter cikti = response.getWriter();
   cikti.println("Sisteme Giris Basarili");
    } }

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

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
//Bu sayfadayken shift + f6 basıp servleti çalıştırın.Ya da sağ tıklaytıp run file
public class WebXmlAyar extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter yaz = response.getWriter();
ServletContext context=this.getServletContext();
String genelDeg=context.getInitParameter("globalDegisken");
yaz.println("web.xmlde tanimlanan global değişken-->"+genelDeg);
ServletConfig config=this.getServletConfig();
String yerelDeg=config.getInitParameter("localDegisken");
yaz.println("
WebXmlAyar servletin yerel değişkeni-->
"+yerelDeg);
    } 
protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    } }

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

resim

web.xml tıklayıp en sağda xml yazılan yeri tıklayıp xmlde

kod yazın sevlet değişkenler için.Global ya da yerel değişken

bu şekilde tanımlanabilir.Bir önceki örnektede global değişken

in ikinci tanımlama yöntemi var.

ServletContex Uygulama içindeki tüm servlet ve jsp’lerce erişilebilen bir değişken tanımlamak için ServletContex olarak tanımlanır.Bunu 2 şekilde tanımlayabiliriz. Birincisi we.xml ayar dosyasında etiketi arasında tanımlamak.Ikincisi yöntem ise değişkeni ServletContext context=this.getServletContext(); context.setAttribute(“herhangi biri isim”, global yapmak istediğiniz değişken); getAttribute(“verilen isim”); global isme ait değeri çevirir.Mesela uygulamada kullanıcı adı ve mail i global yaptım.Bu örnek ikinci şekilde gerçekleştirilmiş.

<%@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/GlobalDegiskenTanim/Servlet1"
method="POST">
Adiniz:<input type="text" name="ad">

Mail Ad:<input type="text" name="mail">

Yasiniz:<input type="text" name="yas">

Bilgileri Hatirla:<input type="checkbox" name="sec">

<input type="submit" value="Gonder">
<input type="reset" value="Sil">

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet1 extends HttpServlet {
protected void doGet(HttpServletRequest request, 
HttpServletResponse response)throws ServletException, IOException { } 
protected void doPost(HttpServletRequest request, 
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter cikti=response.getWriter();
String kulAd=request.getParameter("ad");
String kulMail=request.getParameter("mail");
int kulYas=Integer.parseInt(request.getParameter("yas"));
//setAttribute("globala isim ver",hangi değişken global olacak)
//Değişkenimizi global yani web uygulamanın her tarafından erişilebilir kılar.
ServletContext tumUyg=this.getServletContext();
tumUyg.setAttribute("globalAd", kulAd);
tumUyg.setAttribute("globalMail", kulMail);
//getAttribute(globala verilen isim) ile değişkenin değerini alırız
cikti.println("Ad global oldu-->"+tumUyg.getAttribute("globalAd"));
cikti.println("
Mail global oldu-->
"+
tumUyg.getAttribute("globalMail"));
//cikti html olacağından bir alt satıra 
ile geçiyoruz.

cikti.println("
Yas global değil-->
"+kulYas);
//href="index" tanımlama yapıyoruz.Ama println daki "" olduğundan dolayı
//href='gidilecek servlet ay da jsp ismi uzantı yok sadece isim' tanımlanır
cikti.println("Ikinci Sınıftan Gormek Iıcn Linki tıkla");
}
public String getServletInfo() {
return "Short description";
} }

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

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet2 extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)  throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
ServletContext context=this.getServletContext();
PrintWriter cikti=response.getWriter();
cikti.println("Diger servletteki Global degisknelerin Değerleri:
"+
context.getAttribute("globalAd")+" ve "+
context.getAttribute("globalMail"));
} 
//servlet1 deki href linki tıklanınca doGet() metoduna gelir
// processRequest(request, response); metodunu çağırır.
protected void doGet(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
processRequest(request, response);
} }

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

Servlet koplex hesap ve mantık içeren kodları servlet içinde genelde tanımlanır.Bununla web sayfasındaki görsel özellikleri oluşturan kodlardan yanı jsp içinde dinamik kodlardan soyutlama tercih edilir.Kısaca dinamik web çıktısı oluşturmakta jsp kullanıp karmaşık java kodlarını gerektiren yerlerde de bu jsp içindeki html kodlarından ayırmak ve yönetim kolaylığı açısından servlet seçilir.

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FormBilgAlServletim extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//dikkat doGet() ya da doPost() metodunu cagirmak istiyorsanız
//bu iki metodun govdesinde default olarak processRequeste yönlendiren
// processRequest(request, response); kodu silin
response.setContentType("text/html;charset=UTF-8");
//Kullanıcı tarayıcısına html içeriğini gönderir.
PrintWriter out = response.getWriter();
//jspdeki kul adinin name="ad" ismiyle çağırırlır ve
//parolada name="sifreniz" alana girilen parola değeri getirilir.
String adiniz=request.getParameter("ad").trim();
String parolaniz=request.getParameter("sifreniz").trim();
//Eğer forma bir şey girilmezse tekrar aynı sayfaya(index.jsp) yönlendiriyor
if("".equals(adiniz) | "".equals(parolaniz)){
response.sendRedirect("index.jsp");
}
try {
out.println("");
out.println("");
out.println("Servlet FormBilgAlServletim");
out.println("");
out.println("");
out.println("Kullanıcı ad-->"+adiniz+"
"+
"Kullanıcı parola-->"+parolaniz);
out.println("");
out.println("");
} finally {
out.close();
}

} 
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//doPost() metodun govdesi.Genelde doGet() yerine bu kullanılır
}
@Override
public String getServletInfo() {
return "Short description";
}  }

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

<%@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/FormBilgAlServletim/FormBilgAlServletim"
method="GET">
Kul Ad:<input type="text" name="ad">

Parola :<input type="password" name="sifreniz">

<input type="submit" value="Gonder">
 

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

actiona servletin tam adresini yazmanız gerekir.

Bunu servleti sağ tıklayıp Run File ya da shift+f6 ya

servletteyken basın o zaman servlet derlenirken bir uyarı veriri ok tıklayın.

servlet çalışınca tarayıcı çubuğundaki adresi alıp yapıştırın. method=”get” ise kullanıcı ve

parola tarayıcınızda görünür.Onun için genelde get değilde psot seçilir.kul ad=mehmet ve parolada ethem girdim

http://localhost:8084/FormBilgAlServletim/FormBilgAlServletim?ad=mehmet&sifreniz=ethem

method eğer post seçilirse o zaman girilen bilgiler tarayıcıda görünmez.

<%@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


<%--
href ye Servleti kendi ismiyle çağırıyoruz.yanı ServletUygulamasi.java
şeklinde çağırmıyoruz.Çünkü tarayıcı
http://localhost:8084/ServletUygulamasi/ServletUygulamasi
çağırıyor.Jsp de yorum satırlarıda bu şekildedir.
--%>
Bu index.jsp sayfasıdır.

<a href="ServletUygulamasi">ServletUygulamasi

ismindeki servleti cagir


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

//------------------------------------------------------------------------

package www.ethemsulan.com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletUygulamasi extends HttpServlet {
protected void processRequest(HttpServletRequest
request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
//Servletlerde bu şekilde bir çok println()
//tanımlaması zorluğundan jsp doğmuştur.Aslında ikisi
//aynı güce sahipler sadece biri kolaylık sağlar.
out.println("");
out.println("");
out.println("ServletUygulamasi");  
out.println("");
out.println("");
out.println("

Servlet ismi ile uygulama ismi ayni olmali deniliyor!

");
out.println("");
out.println("");

} finally {

out.close();
}
} 
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
} 
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

public String getServletInfo() {
return "Short description";
} }

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

s1

projemizin üzerine sağ tıklayıp new den sevrleti seçiyoruz.

s2

Uygulama simiyle aynı isimde değer veriyoruz.

s3

Yukaredaki değerler .xml içinde tanımlanırlar

s4

+ yazılan yeri tıklayıp doPost() ve doGet() metodlarına gidilir./* ve */ değerleri silin.Servlet çağrıldığında yapılmasını istediğimiz değerler html olarak yazılır.

s6

WE-INF altındaki we.xml dopsyasına tıklayıp en sağda gösterilen işaretlenen xml tıklayıp nasıl tanımladıklarını görebiliriz.Bir çok işlemi buradan gerçekleştirebiliyoruz.

Servlet dinamik web uygulaması gerçekleştirmeyi sağlayan bir teknolojidir(örn: göndrilen veriye göre sonuç üretme). Web sunucusu üzerinde çalışır ve gönderilen veriye göre sonuç üreten java sınıflardıdır.Kullanıcı ulaşmak istediği sayfayı belirtip bilgiyi sonucuya gönderir.Web sunucu gelen bu isteği(request) alıp bu isteğe uygun olan servete ait nesne varsa istek servete gönderilir.Eğer istenilen(gönderilen bilgiyle uyuşan) nesne bellekte yoksa üretilip istek ve bilgi servete gönderilir.Servlet kendisine gelen bu istek doğrultusunda bir sonuç üretip(örn:html sayfası formatında) web sunucusuna gönderir.Web suncuda servletten gelen bu değeri isteği yapan kullanıcıya gönderir.Fakrlı sonuçlar için farklı servlet sınıfları üretilmeli(örn:HttpServlet).Servlet makinesi web sunucuda servlet ve javanın nasıl kullanıldığını bilir ve sunucuda bulunmalıdır.Bu makine servletleri JVM(Java virtual machine) ile çalıştırılabilir ve sonuçları kullanıcıya gönderilebilir.Web suncusu ve servlet makinesi içeren bir çok  sunucu vardır.En çok bilinen Apache Tomcat, Macromedya Jrun,Oracle for java..
Aynı servete birden fazla istek aynı anda gelince suncu bu servlet sınıfndan tek bir nesne üreterip bu nesneyi iş parçacığı(multi thread) ile tüm isteklere cevap verebilir.Bu arada javada çoklu süreç(multi process) yok.Çünkü JRE bir süreçtir ve aynı anda birden fazla süreç çalıştırılamaz.Bunun için tek süreç ile çoklu iş parçacığı ile bir çok işlem aynı anda gerçekleştirilebiliyor.Sunucya istek gelir.Sunucu bu isteğe ait servleti belleğe yükler.Servlete ait init() metodu(yapıcı gibi) sonra da service() metodu(gelen isteğe göre kendisindeki bazı metodları çalıştırıp bu işi gerçekleştirir) çalıştırılıp bir sonuç üretilip sunucya o da isteği yapana gönderir.Istek birden fazlaysa thread ile gerçekleştirilir.En sonda da destroy() metodu(javada çöp toplayıcı gibi) çalıştırılır.Örneğin ben bir fabrika müdüründen bir araba isteğinde bulunurum.Müdür o arabayı yapacak gruba isteği iletir Eğer istediğim tipte araba üreten grup(çalışan) yoksa yeni bir çalışma grubu oluşturulup araba üretilir.Müdür de bu arabayı bana gönderir.Burada kullanıcı benim, fabrika müdürü sunucu ve çalışanalrda servlettir.

HttpServlet get,post,delete… gibi isteklere cevap verir.Buna ait metodlar doGet()—>get isteği, doPost()—>post isteklrini gerçekleştirir.HttpServletRequest—>Kullanıcıdan gelen değişken,veri bilgileri bu değişkende tutulur.HttpServletResponse—>işi gerçekleştiren ve sonucu kullanıcıya göndermek için kullanılır.
Servlet jspden önce de vardı.Jsp görsel içerikli uygulamaların geliştirmesinde kullanım rahatlığı sağlamak için doğmuştur.Aslında servlet ve jsp aynı işleri gerçekleştirebiliyorlar.Jsp servlet üzerine doğan bir teknoloji olduğundan arka planda çalışan mekanizma servletlere dayanır.CGI(servlet de CGI da html içerikleri satır satır yazdırmak zor ve kullanışsızdır.JSP bu servletteki eksikliği gidermiştir) programları web sunucularda her istek için ayrı ve yeni bir süreç oluşturduklarından web sunucuların aynı anda sınırlı ziyarteçiye hizmet verbiliyordu.Bu sorunu ortadan kaldırmak için çalıştıkları sunucuda her bir istek sistemde hazır bulunan JVM tarafından java başlatılan java threadiyle isteği ele alıp işleyebiliyor.Bu thread ile aynı anda birden fazla isteğe cevap verilebildiğinden sunucu belleğine ek yük getirmezler.Bundan dolayıdır ki bir sevlette meydana gelen hata diğer servletleri etkilemediği gibi sunucunun çalışmasını da etkilemez.JSP dosyaları istek anında sunucuda bulunan jsp motoru karşılığı olan servlet dosyasına çevrilir.Derlenen servlet(.jsp dosya derlenince .java yanı o jsp ye karşılık gelen servlete dönüştürülür.) çalıştırıarak sonuç html çıktısı olarak ziyaretçiye iletilir.