Web uygulamaları oluşturmak için kullanılabilecek ve dinamik içerik oluşturan birçok uygulama bulunmasına karşın bugün bu iş için en çok dikkat çeken teknoloji Java Server Pages teknolojisidir.JSP diğer teknolojilerden farklı olarak çapraz platform ve çapraz uygulama sunucusu imkanlarından faydalanmaktadır.
JSP sayfaları genellikle
- Statik HTML ve XML bileşenlerinden
- Özel JSP etiketlerinden
- Ve opsiyonel olarak scriptlet adı verilen Java programlama dili kod parçacıklarından oluşmaktadır.
JSP spesifikasyonu Java Servlet API üzerine kurulmuş bir uzantıdır fakat Servlet ve JSP teknolojileri arasında belirgin farklar bulunmaktadır.İmplementasyonlarında programlama profesyonelliği gerektiren Servletlerin tersine JSP daha geniş bir uygulama programcısı kitlesine hitap etmektedir.Sadece geliştiriciler tarafından kullanılmakla kalmayıp aynı zamanda web dizayncıları tarafından da kullanılabilinmekte ve böylelikle geliştirme yaşam döngüsünde daha direkt bir rol oynamaktadır.
JSP nin diğer bir avantajı teknoloji tarafından sunulan içeriğin prezentasyon tarafından ayrılmasıdır çünkü JSP Java Beans bileşen teknolojisi ve EJB teknolojisine dayalı yeniden kullanılabilir bileşenler içermektedir.
İşlevsel JSP kodları yazıp test edebilmek için Apache grbunun sunduğu TOMCATuygulama sunucusunu kullanabilirsiniz.
JSP Avantajları
Statik ve dinamik içeriğin birbirinden ayrılması:
Servlet kullanımında dinamik içeriğin oluşturulması servletin kendi içindeki programlama mantığının bir parçasıdır ve kullanıcı arayüzünden sorumlu olan statik gösterim şablonlarına bağlıdır.Bundan dolayı UI üzerinde yapılan çok ufak değişiklikler dahi servletin yeniden derlenmesini gerektirmektedir.Dinamik ve statik içeriklerin birbirlerine bu şekilde bağlı olmaları uygulamaların sabit ve esnek olmamalarına yol açmaktadır.JSP ile dinaik içeriğin oluşturulması için gereken mantık,statik içerikten bu mantığı JavaBean bileşenleri kullanılmak suretiyle ayrılmıştır.Bunlar daha sonra JSP sayfasında bazı özel
Script ve etiketler sayesinde oluşturulup kullanılabilmektedir.Bir sayfa dizayncısı sunum şablonu üzerinde herhangi bir değişiklik yaptığında , JSP sayfası otomatik olarak derlenmekte ve JSP motoru tarafından yine otomatik olarak web sunucusu içerisine konmaktadır.
Bir kere yaz , her yerde çalıştır
JSP sayfası kdoun bir kere yazılıp her platformda çalıştırılmasını interaktif web sayfalarına taşımaktadır.JSP sayfaları platformlar ve web sunucuları arasında arasında rahatlıkla taşınabilmekte ve herhangi bir değişikliğe gereksinim duymamaktadırlar.
Dinamik içerik birden fazla formatta sunulabilmektedir
Bir JSP sayfası içerisindeki statik içeriğin herhangi bir düzende olma koşulu bulunmamaktadır.Böylece JSP HTML/DHTM gibi standard tarayıcı düzenlerine , WML kullanan Palm gibi taşınabilir cihazlar ve cep telefonlarına veya XML kullanan diğer
B2B uygulamalarına servis verebilmektedir.
Servlet API tamamen yüzeyselleştirilmiştir
JSP servletin soyutsallaştırılmış halidir bundan dolayı sevletler ile yapılan herşey JSP ile yapılabilmektedir tek fark ise bunun daha basit olarak gerçekleştirilmesidir.
JSP veya Servlet ten hangisi kullanılmalıdır?
Hem JSP hem de servletlerin birbirlerine ortak birçok özellikleri olduğu doğrudur ve dinamik web içeriği için kullanılabilmektedirler.Doğal olarak bu teknolojilerden hangisinin kullanılması gerektiği bazen kafaları karıştırabilir.
Sun Microsystems bu soruya cevap olarak J2EE Blueprints içerisinde hangi durumlarda JSP veya servlet seçilmesi gerektiğini açıklamıştır.
Buna göre servletler kesin olarak bir web sunucusu uzantısı teknolojisidir.Bu , authentication,veritabanı validasyonu ve buna benzer özel kontrolcü bileşenlerin implementasyonunu içermektedir.Burada ilginç bir nokta bulunmaktadır.JSP motoru olarak bilinen şey esasında servlet motoru kontrolünde çalışan bir servlet ten başka bir iey değildir. JSP sadece metinsel veri üzerinde kullanıldığından Java applet ve uygulamaları ile iletişim kurarken servlet kullanmak zorunda kalırsınız.