04 – Apache Tomcat

Neden Servlet Container olarak Apache Tomcat kullaniyoruz ?

Bunun nedeni calistigim tum kaynaklarda Apache Tomcat kullaniliyordu. Isteki projelerde de Apache Tomcat kullaniliyor. Apache Tomcat populerligi en fazla olan Servlet Containerdir diyebiliriz. Dolayisiyla bu yazilarim boyunca Apache Tomcat kullanmayi dusunuyorum. Baska bolumlerde farkli Servlet Containerlari da kullanabiliriz.

Apache Tomcat vs Glassfish

Apache Tomcat, Servlet Container‘dir baska bir deyisle Web Containerdir. Glassfish ise Application Server‘dir. Application Server’lar hem Servlet Container’a hem de EJB Container’a ve ek ozelliklere sahiptir. Servlet ve JSP icin Apache Tomcat yeterli olacaktir.
Glassfish Application Server , JSF+EJB projelerine uygun olacaktir. Apache Tomcat uzerinde Spring MVC projeleri de rahatlikla calisacaktir.

application-server

Continue reading 04 – Apache Tomcat

05 Declare Class Members – 02

Bu dersimizdee Class Member (instance variable, methods) icin kullanabilecek nonaccess member modifier konusunu isleyecegiz.

final Methods

final anahtar kelimesi metotlar icin kullanildiginda , alt sinif tarafindan bu metodun ezilmesini (override) engeller.

A.java

package purejava5;

public class A {

	void method1() {

	}

	final void method2() {

	}

}


Continue reading 05 Declare Class Members – 02

Hibernate Nedir?

hibernate

İşimiz gücümüz veri için. Programlamada ki amaçların en temelinde verilerin tutulması, sağlıklı bir şekilde depolanması, bu kaydedilen verilerin tekrar güncellenmesi sorgulanması gibi işlemler yapıyoruz, yapacağızda.

Hibernate bir ORM Firework’udür. Orm Nedir? bu yazımızda açıklamıştık.

2001 yılında Gavin Kral tarafından oluşturulan açık kaynak kodlu olarak yayınlandı Hibernate. Hem Java’da hem de C Sharp’ta kullanılabilen bir fireworktür. Hibarnate ile yapılan tüm işlemleri JDBC ile yapabilmekteyiz. Ancak kod karışıklığı ve Nesneye Yönelimli Programlama mantığına uygun bir yazılım standartına ulaşmak için yapılan

Nesne tabanlı programlarda veritabanımızda kullanacağımız bir yapıdır Hibernate. Hibernate veritabanımızla iletişime geçen programımızdan her türlü işlemi yapmamızı sağlayan bir aracıdır. Hibernate bir ORM aracısıdır tekrar belirtmekte fayda var.

Continue reading Hibernate Nedir?

ORM Object Relational Mapping Nedir?

ORMMapping

Bu yazıda ORM nedir Nasıl bir çalışma mantığı var bu konuları işledikten sonra avantajlarını sizinle paylaşacağım.

ORM ve ya Object Relational Mapping denilen kavram aslında bizim kod bloklarımız ile veritabanımız arasında oluşan bir köprüdür. Bu tanım ORM’nin en basite indirgenmiş hali.

Şimdi bu tanımdan sonra biraz işi detaylandırarak anlatmaya çalışacağım.

Continue reading ORM Object Relational Mapping Nedir?

Java Serialization (Serileştirme) Nedir?

serialization

 

 

 

 

 

 

 

Java tamamen nesne yönelimli bir programlama dili olduğu için, Java üzerinde uygulama geliştirirken nesneleri sıkça kullanıyoruz. Java platformunda bilindiği gibi, int, double, byte gibi primitive tipler dışındaki herşey nesnedir.

Ancak Java’da kullanılan nesneler, Java platformunda (JVM) hayat bulurlar. Platform dışında nesnelerin, hiçbir anlamı yoktur. Nesne yönelimli programlama paradigmasını destekleyen Java’da, tasarlanan nesnelerin tekrar kullanılabilmesi (reuse) önemli bir konu olduğuna göre, bu nesneleri Java platformu dışında da hayata geçirmek gerçekten önemlidir. Bahsedilen bu problem, Java Serialization API sayesinde çok kolay bir şekilde aşılabiliyor.

Konuya bir de şu yönden bakarsak, herhangi bir nesne içerisindeki fieldları bir dosyaya yazdırdığımızda, bu verilerin sadece değerlerini (values) dosya içerisinde depolarız. Halbuki bu verilerin sınıf tanımlaması içerisindeki tipleri de en az değerleri kadar önemlidir. Herhangi bir nesnenin fieldındaki değer 3 ise, bu değerin string mi int mi olduğunun dosya üzerinde bir anlamı yoktur.

Java Serialization API sayesinde bir nesnenin birebir kopyasını, Java platformu dışında da depolayabiliriz. Bu mekanizma ile daha sonra,  nesneyi depolanan yerden çekip, aynı durum (state) ve özellikleri ile kullanmaya devam edebiliriz. Tüm bu sisteme, Object Serialization (Nesne Serileştirme) adı verilir.

Continue reading Java Serialization (Serileştirme) Nedir?

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ş