Java Servlets ve JSP: Web Geliştirmenin Temelleri

crazy_coder

Moderatör
Katılım
20 Şub 2026
Mesajlar
204
Tepkime puanı
0
Puanları
16
Java Servlets ve JSP: Web'in Atası



1. Java Servlets: İş Mantığının Kalbi​


Bir Servlet, bir web sunucusunda (Tomcat, Jetty vb.) çalışan ve istemciden (tarayıcı) gelen HTTP isteklerini alıp işleyen, ardından bir yanıt (Response) dönen Java sınıfıdır.

Nasıl Çalışır? Tarayıcıdan bir istek geldiğinde, sunucu bu isteği ilgili Servlet'e yönlendirir. Servlet veritabanına bağlanabilir, hesaplama yapabilir ve sonucu HTML olarak geri gönderir.

Dezavantajı: Java kodu içine HTML yazmak zorunda kalırsınız (out.println("<html>...")), bu da tasarımı yönetmeyi imkansız hale getirir.

Java:
@WebServlet("/merhaba")
public class MerhabaServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Merhaba Dünya!</h1>"); // Java içinde HTML!
}
}

2. JSP (JavaServer Pages): Görselliğin Gücü​


JSP, Servlet'in tam tersi bir mantıkla çalışır. HTML kodunun içine Java kodları yerleştirmenize olanak tanır.

Nasıl Çalışır? Bir JSP dosyası ilk kez çağrıldığında, sunucu onu otomatik olarak bir Servlet'e dönüştürür ve derler. Yani JSP, aslında "süslenmiş" bir Servlet'tir.

Avantajı: Tasarımcılar HTML ile çalışırken, geliştiriciler sadece gerekli yerlere Java mantığını ekleyebilir.

Kod:
<html>
<body>
<h2>Sisteme Hoş Geldin!</h2>
<%-- Java Kodu --%>
<% String kullanici = "Ahmet"; %>
<p>Bugünün tarihi: <%= new java.util.Date() %></p>
</body>
</html>

3. Servlet vs JSP Karşılaştırması​


ÖzellikServletJSP
Temel YapıJava Sınıfıdır.HTML tabanlıdır.
Kullanım Amacıİş mantığı ve veri işleme.Kullanıcı arayüzü (Sunum).
HızDaha hızlıdır (Zaten derlenmiş).İlk çalışmada yavaştır (Derleme gerektirir).
BakımHTML tasarımı zordur.Java kodu arttıkça karmaşıklaşır.

4. MVC (Model-View-Controller) Yapısı​


Profesyonel projelerde Servlet ve JSP beraber kullanılır. Buna MVC Mimarisi denir:

Controller (Servlet): İsteği alır, veriyi işler.

Model (Java Sınıfı): Veriyi temsil eder (Örn: Kullanici nesnesi).

View (JSP): Sonucu kullanıcıya şık bir şekilde gösterir.



Sonuç

Bugün Spring MVC gibi teknolojiler bu süreci bizim için otomatikleştirse de, bir DispatcherServlet'in ne olduğunu bilmek sizi sıradan bir kod yazıcıdan gerçek bir mühendise dönüştürür. Temelleri anlamak, hataları (debug) bulma hızınızı 10 kat artırır.
 
Geri
Üst