Üst Düzey Programlama



Benzer belgeler
Üst Düzey Programlama

Üst Düzey Programlama

Üst Düzey Programlama

Üst Düzey Programlama

HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet tir.

Üst Düzey Programlama

PHP I PHP I. E. Fatih Yetkin. 26 Eylül 2011

Üst Düzey Programlama

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1


Sunum İçeriği. Programlamaya Giriş

Intercepting Filter Tasarım Şablonu KurumsalJava.com

Programlama Yazılımı ile Web Sitesi Oluşturma

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Start : Bu method init methodundan hemen sonra çalışır ve applet dosyası yürütülmeye başladığında çalışmaya başlar.

Script. Statik Sayfa. Dinamik Sayfa. Dinamik Web Sitelerinin Avantajları. İçerik Yönetim Sistemi. PHP Nedir? Avantajları.

BİL-141 Bilgisayar Programlama I (Java)

BİH 605 Bilgi Teknolojisi Bahar Dönemi 2015

PHP 1. Hafta 1. Sunum

BMS-302 İleri Web Programlama. İş Parçacığı (Thread) ve Soket (Socket) Programlama

2.Eclipse açıldıktan sonra Workspace alanı seçilmesi gerekir. Workspace alanı projelerinizin fiziksel olarak bulunduğu kısımdır.

Öğr. Gör. Serkan AKSU 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Görsel Programlama DERS 12. Görsel Programlama - Ders12/

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java Programlama Giriş

AJAX nedir? AJAX nasıl çalışır? AJAX. Tahir Emre KALAYCI. Sunucu Yazılım Teknolojileri

Basit bir web uygulaması

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

WEB FORMLARI. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

İNTERNET PROGRAMCILIĞI HAFTA MYSQL - PHPMYADMIN. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Mysql Nedir.

Google Chrome Kullanıyorsanız; Microsoft Internet Explorer Kullanıyorsanız;

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

Android e Giriş. Öğr.Gör. Utku SOBUTAY

Java da İstemci Tarafı Uygulamalar

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Android Ders Notları

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

NESNEYE YÖNELİK PROGRAMLAMA

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

PHP ile İnternet Programlama

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

YZM 3215 İleri Web Programlama

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

MOBİL UYGULAMA GELİŞTİRME

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

Front Controller Tasarım Şablonu KurumsalJava.com

Veri Tabanı Yönetim Sistemleri Bölüm - 02

Web Tasarımının Temelleri

1.PROGRAMLAMAYA GİRİŞ

4. Bağlantı (Köprü) Oluşturma

İsimler ve Kapsam. 24 Şubat Programlama Dilleri - Pamukkale Üniversitesi 1

Üst Düzey Programlama

Üst Düzey Programlama

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan,

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

08217 Internet Programcılığı I Internet Programming I

ASP.NET TEMELLERİ. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

Üst Düzey Programlama

Üst Düzey Programlama

PHP 1. Hafta 2.Sunum

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

İnternet Programcılığı

Basit Mimari, Katmanlı Mimari ve doğrudan çalıştırma olarak üçe ayrılır.

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Java EE 5 Teknolojileri Jboss Seam

Java Temel Özellikleri

C# nedir,.net Framework nedir?

KAMPÜS DIŞINDAN PROXY (VEKİL) AYARLARI İLE KAMPÜS AĞINA BAĞLANMAK

Genel Açıklama: Bu çalışmanın kullanıcılarıma yararlı olmasını temenni ederiz. Saygılarımızla, 15 Ekim 2012 Datasoft Yazılım

Java Dersi. Altuğ Bilgin Altıntaş

YZM 3215 İleri Web Programlama

BİL-142 Bilgisayar Programlama II

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

PHP ye Giriş. Hidayet Doğan

İsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

JavaServerFaces. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4

Mobil Cihazlardan Web Servis Sunumu

CELAL BAYAR ÜNİVERSİTESİ KÜTÜPHANE VERİTABANLARINA ÜNİVERSİTE DIŞINDAN ERİŞİM

Listview Kullanımı. Aşağıdaki örnekte bir ListView'ı birkaç ülke ismiyle dolduracağız.

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. 26 Şub Öğr. Gör.

Client Server Database

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

ProFTPD FTP Sunucusu. Devrim GÜNDÜZ. TR.NET Sistem Destek Uzmanı.

PROGRAMLAMA DERSİ 1. İNTERNET

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

AKINSOFT E-Mutabakat. Yardım Dosyası

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

08217 Internet Programcılığı II

API geliştiricileri. Web server ile yapılan entegrasyonun neticeleri. API Dokumantasyonu

MyFaces Özgür JSF Uyarlaması. Bora Güngören Portakal Teknoloji

MİLLİ EĞİTİM BAKANLIĞI YENİ EPOSTA SİSTEMİ HAKKINDA MEB

YZM 2116 Veri Yapıları

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

Transkript:

Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1

Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya göre değişen ya da işlemler yapabilen web sayfalarının geliştirilmesi gerekli olmuştur. Web sayfalarında kullanıcılardan veri alarak bu verilerin işlenmesi ve kullanıcıya işlemlerin sonuçlarının gösterilmesi önemli olmuştur. Java ile dinamik web uygulamaları geliştirmek için farklı teknolojiler bulunmaktadır. Servlet bu teknolojilerden biridir. Üst Düzey Programlama-ders01/ 2

Dinamik sayfa? 1. Web sayfası kullanıcının gönderdiği veriler temelinde sonuç üretir. (Örn: Google gibi arama sayfaları) 2. Web sayfasında görüntülenen veriler sürekli güncellenmektedir. (Örn: haber siteleri, hava durumu gibi) 3. Web sayfası veri tabanı bilgisi gösteriyorsa, veri tabanı değiştiğinde web sayfası da güncellenmelidir. Üst Düzey Programlama-ders01/ 3

Servlet Nasıl Çalışır? Servlet web sunucuları üzerinde çalışan, kullanıcıdan ya da farklı yerlerden aldığı verilere göre sonuç üreten Java sınıflarıdır. Oluşan sonuç HTML ya da başka biçimli olabilir. Servlet Kullanıcının gönderdiği veriler, (form bilgisi, vb.) sunucu Sonuç isteği yapana gönderilir. çıktı Yapılacak işlemler gerçekleştirilir, sonuç html ya da başka biçimde hazırlanır ve sunucuya gönderilir. Üst Düzey Programlama-ders01/ 4

Servlet Nasıl Çalışır? 1. Kullanıcı web tarayıcısından ulaşmak istediği sayfayı belirtir ve bu bilgiyi sunucuya gönderir ya da bir sayfada bulunan web form bilgilerini doldurur ve gönderme tuşuna tıklar. 2. Web sunucusu kullanıcı tarafından gelen bu http ya da başka biçimdeki isteği(request) alır. Bu isteğe uygun olan servlet'i belirler. Bu servlet'e ait bir nesne bellekte var mı diye kontrol eder. Bu kontrolde var ise istek be tüm bilgi bu servlete gönderilir. Eğer istenilen servlet nesnesi bellekte yok ise yeni bir tane oluşturulur, istek ve bilgi daha sonra bu servlet'e gönderilir. Üst Düzey Programlama-ders01/ 5

Servlet Nasıl Çalışır? 3. Servlet kendisine gelen istek ve verileri alır ve bunları kullanarak oluşturması gerekli olan sonucu oluşturur. Servlet'in oluşturacağı sonuç bilgisi farklı biçimlerde olabilir. Genel olarak oluşturulan sonuç HTML sayfası şeklindedir. 4. Servlet oluşturduğu sonucu web sunucusuna gönderir. 5. Web sunucusu servlet'ten gelen sonucu isteği yapan kullanıcıya gönderir. Üst Düzey Programlama-ders01/ 6

Servlet Nasıl Çalışır? Farklı sonuçlar üretmek için farklı sınıflar temelinde Servlet sınıfları üretmemiz gereklidir. HTML isteklerini anlayarak HTML sonucu üreten ve yaygın olarak kullanılan temel Servlet sınıfı HttpServlet dir. Üst Düzey Programlama-ders01/ 7

Servlet Nasıl Çalışır? Bir web sunucusunun Java'nın ve servletlerin çalışmasını ve nasıl kullanacağını bilmesi için, web sunucusunda Servlet Makinesi (Servlet Engine) bulunmalıdır. Bu makine servletleri JVM ile çalıştırabilir, oluşan sonuçları anlayarak kullanıcıya geri döndürebilir. Web sunucusu ve servlet makinesi olarak kullanılan farklı firmalara ait sunucular bulunmaktadır. -Apache Tomcat -Macromedia Jrun -OC4J : Oracle for Java -Caucho Resin -Jetty Üst Düzey Programlama-ders01/ 8

Servlet Nasıl Çalışır? Web sunucusuna belirli bir servlet için istek geldiğinde web sunucusu bu servletin bellekte olup olmamasını kontrol eder. Eğer yok ise oluşturur. Aynı servlet'e birden fazla istek aynı anda gelebilir. Sunucu bu servlet sınıfından tek bir nesne oluşturur. Bu nesneyi çok iş parçacıklı (multi threaded) şekilde tüm istekler için ortak kullanır. Yazılan servlet kodu çoklu işparçacığı(multi threaded) yapısına uygun olarak güvenli bir şekilde yazılmalıdır. Üst Düzey Programlama-ders01/ 9

Servlet in hayat döngüsü servlet Belleğe yüklenir. Servletin init() metodu çalıştırılır istek(request) istek(request) Thread servlet service() metodu çalıştırılır sonuç servlet destroy() metodu hafızadan silinmeden önce çalıştırılır Üst Düzey Programlama-ders01/ 10

HttpServlet HTTP iletişim protokolünde birden fazla istek bulunmaktadır. Bu istekler şunlar olabilir: GET,POST,HEAD,PUT,OPTIONS,DELETE,TRACE... Servlet'in service() metodu gelen isteğin tipine bakar ve bu isteğe uygun gelen kendisindeki belirli metotları çalıştırır. HttpServlet içerisinde yukarıda belirtilen isteklere karşılık gelen ve bu istek geldiğinde çalıştırılan metot isimleri doxxx() şeklindedirler. Üst Düzey Programlama-ders01/ 11

HttpServlet -doget() : gelen istek GET isteğidir -dopost() : gelen istek POST isteğidir. -dodelete()... Üst Düzey Programlama-ders01/ 12

HttpServlet HttpServlet'in init() metodu servlet ilk çalıştığında yapılacak genel işlemler için kullanılır. Örneğin, uygulamanızda veri tabanı işlemleri kullanıyorsunuz. Veri tabanı bağlantısını bir kez burada oluşturabilir ve gelen istekler için aynı bağlantıyı kullanabilirsiniz. Üst Düzey Programlama-ders01/ 13

HttpServlet SingleThreadModel Normalde sunucu servletten bir örnek oluşturur ve gelen her istek için bir thread oluşturur. Eğer önceki istek bitmemiş ise oluşan threadler eş zamanlı olarak (concurrent) aynı servlet'i kullanırlar. doget ve dopost metotlarında servlet'te tanımlanan genel değişkenlere eş zamanlı erişim olacağı için bu değişkenler dikkatli kullanılmalıdırlar. Genel değişkenlere erişimi güvenli yapabilmek için her istek için tek bir thread kullanılmasını sağlayabiliriz. Üst Düzey Programlama-ders01/ 14

HttpServlet SingleThreadModel Bunu sağlayabilmek için geliştirmiş olduğumuz servletlerin SingleThreadModel isimli interface i gerçekleştirmesi gereklidir. public class Servletim extends HttpServlet implements SingleThreadModel{ } Bu yöntemin dezavantajı, isteklere yanıt gecikeceği için performans düşer. Kullanılması önerilmez.(servlet 2.4 ve JSP 2.0 da deprecated yapılmıştır.) Üst Düzey Programlama-ders01/ 15

HttpServlet HttpServlet sınıfının service() metoduna ait iki adet parametre bulunmaktadır. Bu parametreler son derece önemlidir. HttpServletRequest: Bu parametre istek ile ilgili olan tüm bilgileri tutar. Kullanıcıdan gelen tüm değişkenler veriler, form bilgileri bu değişkendedir. HttpServletResponse: Servlet'in işini gerçekleştirdikten sonra oluşturacağı sonuç için bu parametre kullanılır. Bu parametre kullanıcıya isteğinin sonucu olarak gönderilir. Üst Düzey Programlama-ders01/ 16

Servlet'in oluşturulması Üst Düzey Programlama-ders01/ 17

Üst Düzey Programlama-ders01/ 18

Üst Düzey Programlama-ders01/ 19

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. Üst Düzey Programlama-ders01/ 20

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. uygulamadaki servletler bu <servlet> etiketi arasında tanımlanırlar. Üst Düzey Programlama-ders01/ 21

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. servlet'e takma isim verilir. Üst Düzey Programlama-ders01/ 22

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. takma isme karşılık gelen uygulamadaki asıl sınıf Üst Düzey Programlama-ders01/ 23

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. kullanıcının adres çubuğundan girdiği adresin hangi servleti çalışacağını belirleyen ayardır. Üst Düzey Programlama-ders01/ 24

web.xml Sunucunun uygulama hakkında tüm bilgiyi aldığı XML dosyasıdır. girilen <url-pattern> adresine karsilik verilen takma isme sahip servlet çalıştırılır. Üst Düzey Programlama-ders01/ 25

İki Servlet Geliştirelim GetServlet : GET İsteklerine cevap versin PostServlet: POST isteklerine cevap versin. Üst Düzey Programlama-ders01/ 26

Üst Düzey Programlama-ders01/ 27

Üst Düzey Programlama-ders01/ 28

Üst Düzey Programlama-ders01/ 29

Üst Düzey Programlama-ders01/ 30

Üst Düzey Programlama-ders01/ 31

Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 32