Web uygulamaları oluşturmak üzerine geliştirilmiş olan Java Server Pages yani JSP bir Java teknolojisidir. Bu teknoloji ile kolay bir şekilde dinamik web sayfaları oluşturabilirsiniz. Ülkemizde bu teknolojinin kullanımı az olsa da yabancı ülkelerde JSP’nin yeri ayrıdır. Aynı zamanda JSP Servlet teknolojisinin tüm özelliklerini kendisinde barındırmaktadır. Peki Servlet nedir? Bu sorunun yanıtını aşağıdan bulabilirsiniz.
Günümüzde büyük firmalar genellikle web üzerine program geliştirirken JSP ve JSF dillerinden faydalanmaktadır. Bu dillerde Servlet altyapısını kullanmaktadır. Servlet ise bir JAVA sınıfıdır. Bu sınıfı daha iyi anlayabilmeniz için sunucunun ne olduğunu bilmeniz gereklidir. Sunucu yani Server’ı kısaca açıklamak gerekirse istemci tarafından gelen istekleri cevaplamakla görevli fiziksel sunucu tanımı yapılabilir. Burada istemci bizler oluyoruz. Bu işlem içinde browser yani tarayıcıları kullanıyoruz. Servlet ise JSP veya JSF ile yazılan kodların binary kodlara dönüştürülmeden önceki halidir. Bu işlemden sonra da Servlet Motoruna istemler yapılmaktadır.

JSP Örneği
<% out.print(“Merhaba Dünya”); %>
Yukarıdaki örnek de olduğu gibi html kodların içine Java tabanlı JSP kodlarımızı yazabildik. Dilin söz dizimin de gördüğünüz üzere JSP kodları <% %> etiketlerinin arasına yazılmaktadır. Sonunda ise birçok programlama dilinde olduğu gibi kodun sonuna “;” konulmaktadır.
Öncelikle HTML formunda gelen veriler JSP veya Servlet’e gider. Buradan JSP sayfası okunur ve database işlemleri yapılır. Alınan verilerin sonucunda JSP dosyasına bilgiler tekrardan döner. Son aşamasa ise JSP ile dönen veriler client’e yani istemciye sunulur. Kısaca açıklamak gerekirse JSP bundan ibarettir.
<%@ page … %> : İşlem yapılan sayfaya birtakım özellikler tanımlamak üzere kullanılır. Sayfa da import işlemi yapmak buna örnek olarak gösterilebilir.
<%@ include … %> : Var olan sayfaya başka bir sayfa eklemek için bu işlem yapılmaktadır.
<% taglib … %> : Sayfada birtakım tag kütüphanesi tanımlamak üzere bu etiket kullanılır.

JSP’nin tabanı servlet teknolojisine dayandığını yukarıda belirtmiştik. Aynı şekilde Servlet’lerin sunucu yani server tarafında çalışan JAVA kodlarının olduğunu da söylemiştik. JSP teknolojisi ise servet teknolojisinden bir adım ileri giderek Html kodların arasına gömülebilen bir özelliğe sahip olmuştur. Yani bu özellikle JSP kodlarını Html sayfasında kullanılarak siteyi daha dinamik bir hale getirebilirsiniz.
Web uygulamaları geliştirmek isteyenler JSP teknolojisinin yanı sıra farklı programlama dillerini de kullanabilir. Php, Asp, Asp.net, Python ve Java bu dillerdendir. JSP ile yaptığınız uygulamaları bu diller vasıtasıyla kolay bir şekilde yapabilirsiniz. Bu seçenekler arasında yer alan Java dikkatinizi çekmiş olabilir. Bu diller arasında Java’nın yer almasının başlıca sebebi Java kullanılarak JSP teknolojisinin yanı sıra birçok teknolojiyle web uygulamaları yapılabilir.
Java dilini kullanarak web uygulaması yapmanın birçok yöntemi vardır. Önceden bunun için Servetler kullanılıyordu. Fakat Html kodlarının içine Servtler yerleştirilemediğinden dolayı bu teknoloji biraz eksik kalıyordu. Sonrasında bu sorunu ortadan kaldırmak için JSP teknolojisi geliştirildi. Bu teknoloji ile artık dinamik olarak web siteleri oluşturulması kolaylaştı. Daha sonra Java Server Faces anlamına gelen JSF oluşturuldu. JSF bir MVC standardı olarak düşünülebilir. JSF ile artık objeler, görünümler, kontrol yapıları bölünebilir buda daha semantik kod yazılmasını sağlayacaktır. Sonuç itibariyle bir tablo oluşturduğunuzu farz edelim bunu JSF ile kullanarak hazır componentler yardımıyla yapabileceğiniz gibi JSP kullanarak HTML ve CSS kodları yazarak da bu işlemi gerçekleştirebilirsiniz. JSP ve JSF arasındaki farkı basit bir şekilde böyle örnekleyebiliriz.
Asp dili ile Asp.net arasındaki en büyük fark Asp bir programlama diliyken Asp.net bir yazılım çatısıdır. Bunların dışındaki farkları zaten yukarıda belirttik. Asp ile Asp.net karıştırıldığı gibi JSP ile Asp’de birbiriyle karıştırılmaktadır. Bu karışıklığı aşağıdan gidebilirsiniz.
Blogumuzda paylaştığımız son yazılardan bazılarını keşfedin.