03 HelloServletWorld

Merhaba Arkadaslar,

Onceki yazilarda temel kavramlari , Servlet’in ve Container’in gorevlerini inceledik. Bu yazida Apache Tomcat kurulumunu yapacagiz, ilk Servlet ornegimizi yazacagiz. Boylelikle Servlet dunyasina “HelloWorld” diyecegiz.

Bu yazilarimda Eclipse IDE , JDK 7 , Apache Tomcat 7 kullanacagim. Ben calismalarimi Ubuntu’da yapiyorum. Soz konusu Java oldugu icin isletim sisteminin bir onemi yok. Javaci arkadaslara linux dagitimlarini kurcalamalarini ve kullanmalarini tavsiye ederim. Bu kadar linux tavsiyesinden sonra biz konumuza donelim.

Apache Tomcat’i indirip bilgisayariniza kurup kullanabileceginiz gibi zip halini indirip su sekilde kurabilirsiniz.

 

Adim – 1
zip ve source code‘u indirip uygun bir dizinde acalim.

Continue reading 03 HelloServletWorld

04 Declare Class Members – 01

Merhaba Arkadaslar
Bu yazimda Java’da Class Members (methods , instance (non-local) variable) tanimlanmasi hakkında bilgi vereceğim.

Access Modifiers

Methodlar ve instance variable’lara 3 access modifier da uygulanir.
public
private
protected
ve tabi ki bunlardan biri kullanilmazsa varsayilan olarak package level (default) uygulanir.

Bunlardan default ve protected birbiriyle neredeyse aynidir. Ilerleyen kisimlarda farkından bahsedecegim.

public uyeler

Halka acik public metotlara ve değişkenlere tum siniflardan erişim mumkundur. Tabiki ulasacagimiz metodun veya değişkenin sinifina ait bir referans değişkenimiz araciligiyla ulaşabiliriz.
ikinci olarak siniflar farkli paketlerde ise mutlaka ulasilan sinifi import etmek gerekir. Dolayisiyla Java ayni paket altinda ayni isimde iki sinif tanimlanmasina izin vermez.

Continue reading 04 Declare Class Members – 01

02 Servlet ve Servlet Container Gorevleri

Servletlerin main() metodu yoktur ve Servlet’lerin tum kontrolu Servlet Container’in altindadir.

Servlet Container’a ornek olarak Apache Tomcat’i verebiliriz.
Onceki bolumden hatirlayacagimiz gibi Web Server Application(ornegin Apache) istegi alir(request) eger istek static bir kaynaksa kendisi ilgilenir fakat eger istek Servlet icinse kendisi ilgilenmez bu istek ile Web Container Application ilgilenir.

Onceki yazida Apache Tomcat ‘ten bahsettik. Apache Tomcat hem HTTP Web Server hem de Servlet Container ozelligine sahiptir.

01-servlet-container

Continue reading 02 Servlet ve Servlet Container Gorevleri

03 Interface Declaration

Merhaba Arkadaslar,
Bu dersimiz, Java ‘da Interface (arabirim) tanimlanmasi ile ilgili olacaktir.

Bir interface (arabirim) tanimladigimizda , metotlar govdesiz olarak tanimlanir. yani { } icermezler. Interface bir sablon, kontrattir yani bir interface i uygulayan sinif bu metotlari mutlaka uygulamak, (override) zorundadir.

abstract bir sinif , bir interface i uygulayabilir ve metotlarini uygulamak zorunda degildir, abstract olmayan bir sinif mutlaka metotlari uygulamak ,(override) , zorundadir.

Interface (arabirim) , herhangi bir sinif tarafindan uygulanabilir (implements) . Bu sayede kalitim hiyerarsisinde birbiriyle tamamen iliskisi olmayan siniflar dahi ayni arabirimi uygulayabilir. Bu Interface yapisinin en onemli ozelligidir.

Continue reading 03 Interface Declaration

01 Servlet Giriş

HTTP_ClientServerSystem

Servlet’lerin Temeli

Servlet’ler Web Server tarafından çalıştırılan programlardır . Aslında Servlet bir Java class’ından farksız değildir

Öncelikle Servlet’in faydalarını anlamak için Web tarayıcı ise Sunucu tarafı arasındaki iletişimi anlamak gereklidir.

Servlet’lerden daha eski bir teknoloji olan Applet’ler yardımı ile Web tarayıcısının işlevleri artırılabilinmişti. Servlet’ler yardımı ile de Web Serverin fonksiyonelliği dinamil olarak artırıldı.

 

Web Tarayıcısı ile Sunucular nasıl anlaşır ona bir bakalım ?

Static bir web page için düşünecek olursak eğer ;

  1. Kullanıcı ilgili sayfanın Url’sini tarayıcıya girer.
  2. Tarayıcı bu istek için Sunucuya bir Http(Hyper-Text Transfer Protocol) talebi üretir.
  3. Web Sunucusu bu talebi alır ve ilgili dosya ile eşler.
  4. Bu dosya , Http yanıtı için tarayıcıya döndürülür. Bu yanıtın header(başlık) ‘da içeriğin tipine işaret edilir.
    Bu içerik text , resim yada baska bir şey olabilir. Bunlara MIME type denilir. Bilgi için buraya bakınız .
    İçerik html kaynak kodu ise MIME type text/html olur.

 
Continue reading 01 Servlet Giriş

02 Class Declaration and Access Modifier

Kaynak Dosya Tanimlamasi

  • Javada , her kaynak dosya icin yalnizca bir adet public sinif tanimlanabilir.
  • public tanimlanan sinif , dosya ismiyle mutlaka ayni olmak zorundadir. Ornegin ,
    public class Employee tanimlanmissa kaynak dosyasi mutlaka Employee.java olmalidir.
  • package tanimlamasi mutlaka en basta yer almalidir.
  • import tanimlamasi package tanimlamasi ile class tanimlamasi arasinda yer almalidir.
  • import ve package tanimlamasi , bir kaynak dosyada tum sinif tanimlamalari icin gecerlidir.
  • Bir kaynak dosya tabi ki birden fazla public olmayan sinif tanimlamasi icerebilir.

Continue reading 02 Class Declaration and Access Modifier

01 Legal Identifiers ve Naming Standards

Class

Class yani sinif bir sablondur, peki neyin sablonudur bu ? Class, bir object ‘ in yani objenin sablonudur, peki ne is yapar bir class ? Objenin durum [state] ve davranislarini [behaviors(methods)]  larini tanimlamamizi saglar.

Object

Calisma zamaninda Java Virtual Machine (JVM) , new anahtar kelimesi ile karsilastiginda, ilgili class tan bir instance olusturur (instance of a class) Bu objenin kendi durum[state]  ve davranislari [behaviors(methods)vardir.

Legal Identifiers (Belirleyici)

Class, degisken (variable) , metot ve diger Java ogelerinin birer isme ihtiyaci vardir. Bu isimlere Javada Identifier denir. Java’da bir seylere isim verirken , ciddi anlamda problem yasayabiliriz, Java bu konuda son derece hassastir

  • Belirleyiciler (identifier), harf , $ (currecy character) veya alt_cizgi  _  (underscore) ile baslayabilir.
  • Ilk karakterden sonra harf , $ ve alt cizgiye ek olarak tabi ki rakam da kullanabiliriz.
  • Belirleyicilerin uzunluk acisindan bir siniri yoktur.
  • Java’nin anahtar kelimelerini (keyword) ,  belirleyicilere verilemez.
  • Belirleyiciler buyuk-kucuk harfe duyarlidir (case sensitive). Yani sayi ve Sayi farkli iki belirleyicidir.

Continue reading 01 Legal Identifiers ve Naming Standards