JSP vs Servlet'ler
A Servlet, Java ile yazılmış bir sunucu tarafı yazılım bileşenidir ve Servelt kapsayıcısı (Apache Tomcat gibi) olarak bilinen uyumlu bir kapsayıcı ortamında çalışır. Servlet'ler ağırlıklı olarak dinamik web sayfaları oluşturan web uygulamalarının uygulanmasında kullanılır. Ancak XML, metin, resimler, ses klipleri, PDF, Excel dosyaları gibi diğer içerik türlerini programlı olarak oluşturabilirler.
Biraz HTML oluşturmak için yazılmış bir Servlet şöyle görünebilir:
public sınıfı MyServlet, HttpServlet'i genişletiyor {
protected void doGet(HttpServletRequest isteği, HttpServletResponse yanıtı) ServletException, IOException { atar
PrintWriter w=response.getWriter();
w.write(“”);
w.write(“”);
Tarih d=yeni Tarih();
w.write(d.toString());
w.write(“”);
w.write(“”);
}
}
Yukarıdaki kod, HTML ve Java kaynak kodunun bir karışımını içerir. Bu çok okunabilir ve bakımı kolay değildir. JavaServer Pages anlamına gelen JSP, daha iyi bir alternatif sunar. Örneğin, aşağıdaki, aynı çıktıyla sonuçlanan bir JSP kodu parçasıdır:
Web sayfası yazarları, JSP'yi yazmayı ve korumayı daha kolay bulur. Ancak JSP dosyaları, JSP dosyalarına ilk erişildiğinde bir Servlet kapsayıcı tarafından Servlet'lere çevrilir. Ancak, iş mantığı yazarları Servlet'lerle çalışmayı daha kolay buluyor.
Bir web uygulaması tarafından alınan bir istek, bazı iş mantığının yürütülmesini tetiklemeli ve ardından yanıt olarak sonuç olarak bir web sayfası oluşturmalıdır. Günümüz web uygulamalarında, genel istek işleme döngüsünün kontrolü çoğunlukla Servlet'ler tarafından sağlanır. Bir isteği işlemenin son aşaması olarak, böyle bir Servlet genellikle dinamik HTML'yi bir JSP'ye oluşturma sorumluluğunu devreder.