Java Servlet Hakkında

By-CyL1nD3r

Uzman üye
1 Eyl 2008
1,485
14
BuRs4
Servlet Java teknolojisinin CGI programlamaya verdiği cevaptır. Web sunucu üzerinde çalışan ve web sayfası üreten programlardır. Çalışırken web sayfası üretmek çok yararlıdır ve pek çok sebebi vardır.

Kullanıcı tarafından gönderilen datalar üzerine oluşturulan web sayfalarıdır. Örnek olarak : arama motorlarının sonuç sayfası bu yöntemle oluşturulur ve aynı zamanda e-ticaret için siparişleri alan program parçacıklarıdır.

Veri sık sık değişir.Örnek olarak hava raporu yada haber sayfasındaki başlıklar dinamik olarak üretilmelidir yada güncellenmişse sayfanın eski halini üretmelidir.
{mosgoogle}
Web sayfası birleşik veritabanı veya diğer kaynaklardan bilgileri kullanır.Örnek olarak: Bunu bir online dükkan açmak için kullanabiliriz. Web sayfasında o anki fiyatlar ve stoktaki malzeme miktarı listelenebilir.

Servletlerin geleneksel CGI’ ya göre avantajlarını inceleyelim:

Java servletler daha etkili,kullanımı kolay,güçlü,genişletilmeye açık ve geleneksel CGI’ ya göre daha ucuzdur.
1. Etkin

Klasik CGI’ da her http isteği için yeni bir process başlatır. Servlet de ise Java Sanal Makinası (Java Virtual Machine) herbir http isteğini bekler ve bunları normal bir process olarak değil,düşük öncelikli bir Java çoğullaması (thread) olarak ele alınır. Eğer klasik CGI’da bir CGI programına aynı anda N tane istek geldiğinde CGI program kodu belleğe N defa yüklenir. Servlet’de ise N tane çoğullama (thread) olsada belleğe sadece bir tek servlet class yüklenir.

2. ElVerişli,Uygun

HTML formlarda verilerin çözümlenmesi ve gönderilmesi, http başlıklarının okunması ve ayarlanması cookilerin kullanılması, oturum(session) takip edilmesi için servletlerin geniş bir alt yapısı vardır.Verilecek birkaç basit komut yardımıyla tüm bu işler halledilebilir.CGI ‘da ki parametreleri tek tek ayırıp değişkenlere atma işleminden kurtulmuş oluyoruz.

3. Güçlü,Etkili

Klasik CGI ile yapılması çok zor veya imkansız işler servletler sayesinde kolaylıkla yapılması sağlanmıştır. Servletler Web sunucusu ile direk haberleşebilir (Klasik CGI programları direk haberleşemez.)

Servletler ayrıca büyük boyutta verileri kendi aralarında paylaştırabilir, kolay kullanılabilecek şekilde veritabanı bağlantı havuzu (Database Connection Pool) oluşturmak gibi pek çok işi de yapabilir.

Sunucu – istemci arasındaki bilgi akışını düzenler, session(oturum) ve önceki işlemlerin takibini basitleştirir.

4. Taşınabilir

Servletler Java’da yazılır ve standartlaşmış bir API’ye de uyarlar. Servletler değiştirilmeden Apache,Microsoft IIS veya WebStar gibi web sunuculerı üzerinde kullanılabilir. Gelişmiş pekçok web sunucu için direk veya plug-in (ekleme) olarak servlet desteği vardır.
5. Ucuz

Kişisel veya küçük çapta web sayfaları için kullanılan ücretsiz veya çok ucuz web sunusu vardır.Apache dışında ticari-kaliteli web sunucular oldukça pahalıdır.

Biz projemizde servletlerimizi çalıştırması için Tomcat programını kullandık. Tomcat, Servlet barındırıcı(container) ve Java Server Page(Java sunucu sayfası) uygulama programıdır. Tomcat tek başına kullanılacağı gibi,pek çok popüler web sunucularla entegre olarak da çalışabilir.

6.1.Stand-Alone servlet container:

Bunlar web sunucuların önemli bir kısmını oluştururlar.Tek bir program vardır ve gelen tüm istekleri karşılar. Servlet barındırıcı(container) tek başına da kullanılabilir ama statik sayfalardaki performansı asla popüler web sunucular kadar iyi olamaz.

6.2.Inprocess Servlet container:

Java barındırıcı(container) uygulaması ve web sunucu eklentileri (plug-in) birleşimi olan servlet barındırıcılardır.Web sunucu eklentisi,web sunucunun adres uzayında bir Java Sanal Makinesi açar ve Java Barındırıcının çalışmasını sağlar. Bir in-process barındırıcı çoklu-çoğullama (multi-thread) tek işlemcili sunucular için uygundur ve çok iyi performans sağlamaktadır fakat sağlamlık konusunda sınırlamalar vardır.

Tomcat yukarıdaki iki moddada çalışabilir.2. seçenek için web sunucu ile haberleşebilmesini sağlayacak bir adaptör yazılama ihtiyaç vardır. Biz Tomcat ‘i 1. seçenekteki gibi kullandık.

Apache web sunucusu için : http://localhost

Tomcat servlet barındırıcı için http://localhost:8080

Adreslerini kullanarak ilgili sayfalara ulaşabiliyoruz.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.