Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 1
Servlet Nedir? Internetin ilk zamanlarında geliştirilen web sayfaları durağan bilgiler içeriyordu. Zaman geçtikçe web sayfaları daha değişken, kullanıcıdan almış olduğu verileri işleyerek görünümünü bu bilgilere göre değiştiren ya da kullanıcının girmiş olduğu bilgiler temelinde sonuçlar üreten web sayfaları geliştirilmiştir. Java ile web tabanlı dinamik uygulama geliştirmek için farklı teknolojiler mevcuttur. Bunlardan biri Servlet lerdir. Üst Düzey Programlama-ders08/ 2
Servlet Nasıl Çalışır? Servlet web sunucusu üzerinde çalışan ve kullanıcıdan ya da farklı yerlerden aldığı verilere göre sonuç web sayfası üreten Java sınıflarıdır. Çalışması şu şekildedir. Kullanıcı,form bilgisi yada istek Servlet Servlet Tarayıcı Sonuç sayfa kullanıcıya gönderilir Servlet Servlet Işlemler gerçekleştirir sonuçları elde eder ve HTML çıktısı elde eder Üst Düzey Programlama-ders08/ 3
Servlet Nasıl Çalışır? Kullanıcı web tarayıcısını kullanarak sunucudan bir sayfa isteğinde bulunur ya da belirli bilgileri(form bilgisi vb.) sunucuya gönderir. Web sunucusu bu isteklere karşılık gelen servleti bulur ve bu servlete bu istekleri yönlendirir. Servlet çalışır ve bu çalışması sonucunda bir HTML sayfası üretir. Üretilen HTML sayfası sunucuya geri gönderilir. Web sunucusu sonuç HTML sayfasını kullanıcıya gönderir. Üst Düzey Programlama-ders08/ 4
Servlet Servlet, HttpServlet sınıfından türetilen Java sınıflarıdır. Bu sınıfların web sunucusu tarafından algılanabilmesi için web sunucusunda Servlet Makinesi(Servlet Engine) bulunması gereklidir. Bu makine servletleri JVM ile çalıştırabilir ve sonuçları kullanıcıya gönderebilir. Çok farklı servlet makineleri bulunmaktadır. (OC4J, Apache Tomcat, Resin, Jrun,...) Birden fazla kullanıcı aynı anda bir Servlet'e erişim yapabilir. Bu isteklere nasıl karşılık verileceğine ve kaç adet Servlet nesnesinin o anda oluşturulacağına Servlet Makinesi karar verir. Üst Düzey Programlama-ders08/ 5
Servlet Hayat Döngüsü Servlet' in çalışabilmesi için ilk olarak Servlet sınıfı hafızaya yüklenir. Her servlet nesnesinin init() metodu çalıştırılır. Tarayıcılardan servlete istek geldiğinde Servlet'in service() metodu çalıştırılır. Servlet nesnesi hafızadan silinmeden önce destroy() metodu çalıştırılır. Üst Düzey Programlama-ders08/ 6
HTTPServlet Kullanıcı web tarayıcısı ile belirli bir http isteğinde bulunur, HttpServlet bu isteğe karşılık gelen metodu çalıştırır ve sonuç sayfayı oluşturarak geriye döndürür. Http istekleri şunlar olabilir: GET,HEAD,POST,PUT,OPTIONS,DELETE,TRACE Bu http metotlarının Servlet deki karşılıkları do???() şeklindedir.??? işareti yerine http isteğinin adı gelir. Örneğin; http den get isteği yapılmışsa Servlet'in doget() metodu çalıştırılır. Üst Düzey Programlama-ders08/ 7
HTTPServlet Tarayıcıdan web sitesi adresi yazıp enter a bastığımızda ya da bir link'e tıkladığımızda http get isteği yapılmaktadır. Get metodunda tüm kullanıcı bilgileri url üzerinden ve açık olarak gönderilir. Http Post isteğinde bilgiler gizli olarak gönderilir ve kullanıcı tarayıcısında açık bilgi olarak görüntülenmez. Üst Düzey Programlama-ders08/ 8
HTTPServlet HttpServlet sınıfının service metodunun HttpServletRequest ve HttpServletResponse isminde ik adet parametresi vardır. HttpServletRequest : Kullanıcıdan bilgileri almamızısağlar. HttpServletResponse: Kullanıcıya veri aktarmamızı sağlar. Üst Düzey Programlama-ders08/ 9
Üst Düzey Programlama-ders08/ 10
Üst Düzey Programlama-ders08/ 11
Servletin kodlanmasından sonra Sunucunun bu servleti tanıması için gerekli konfigürasyon dosyası Üst Düzey Programlama-ders08/ 12
GET ve POST metotlarının işlenmesi örnek Üst Düzey Programlama-ders08/ 13
GET ve POST metotlarının işlenmesi örnek Üst Düzey Programlama-ders08/ 14
Üst Düzey Programlama-ders08/ 15
Üst Düzey Programlama-ders08/ 16
Üst Düzey Programlama-ders08/ 17
Üst Düzey Programlama-ders08/ 18
Üst Düzey Programlama-ders08/ 19
Üst Düzey Programlama Servlet Üst Düzey Programlama-ders08/ 20