JAKARTA SERVLETS: SERVLETCONTEXT, SERVLETCONFIG, AND INITIALIZATION PARAMETERS EĞİTİMİ

Servlet yapılandırmasını doğru katmanda yönetin

ServletContext, ServletConfig, init-param, context-param, listener ve uygulama kapsamlı paylaşımlı kaynaklar.

Jakarta Servlets ServletContext ve Init Parametreleri eğitimi: ServletContext, ServletConfig, init-param, context-param, listener ve uygulama kapsamlı paylaşımlı kaynaklar.

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Jakarta Servlet yapılandırma modeli

Eğitim, jakarta.servlet API'sinde yapılandırma mekanizmasını ele alır: ServletConfig ile servlet başına init parametreleri, ServletContext ile uygulama genelinde context-param, web.xml deployment descriptor ile @WebServlet/@WebInitParam anotasyonlarının karşılaştırması, ServletContextListener ile başlatma/kapatma kancaları, context attribute'ları ve thread-safety, getResourceAsStream ile kaynak erişimi ve Tomcat 10.1 üzerinde çalıştırma.

Süre ve Format

2 Gün. Her gün dört modül; ServletConfig ve ServletContext; Context Attribute ve Kaynak Yönetimi ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — ServletContext, ServletConfig, web.xml ve @WebInitParam ile yapılandırma yönetimi

Öğrenme Metodu

Her kavram Maven WAR projesinde Tomcat'e deploy edilerek denenir; parametre okuma ve listener davranışı log çıktılarıyla gözlemlenir.

Neden Bu Eğitim?

⚙️Doğru kapsam

Hangi ayarın servlet, hangisinin uygulama seviyesinde olması gerektiğini ayırt edersiniz.

🔐Güvenli paylaşım

Context attribute'larında thread-safety hatalarını önlersiniz.

🚀Taşınabilir yapı

Ortamdan bağımsız, dış yapılandırmaya açık servletler yazarsınız.

Anahtar Konular

jakarta servletservletcontextservletconfiginit parameterweb.xmlwebinitparamservletcontextlistenertomcat servletservlet yapılandırma
“İyi yapılandırılmış bir servlet, değişmesi gereken her şeyi kodun dışında tutar.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Java bilgisi

Sınıf, arayüz, koleksiyon ve exception kavramlarında orta düzey Java.

2
HTTP temelleri

İstek/yanıt, durum kodları ve HTML form yapısına aşinalık.

3
JDK ve Maven

JDK 17+, Maven 3.9+ ve bir IDE kurulu ortam.

4
Tarayıcı araçları

Tarayıcı geliştirici araçları ve curl ile istek gönderebilme.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı ServletConfig ile ServletContext arasındaki farkı, yaşam döngülerini ve kapsamlarını ayırt eder; init parametrelerini okur.
Modül 1
ServletConfig Nesnesi
  • GenericServlet.init(ServletConfig) çağrısı
  • getInitParameter ve getInitParameterNames kullanımı
  • getServletName ile servlet kimliği
  • Her servlet örneğine özgü ServletConfig ömrü
  • Parametre bulunamadığında null davranışı ve varsayılan değerler
  • init() içinde config doğrulaması ve ServletException fırlatma
Modül 2
web.xml ve Anotasyonlar
  • <servlet> ve <init-param> öğeleri
  • @WebServlet(urlPatterns, initParams) kullanımı
  • @WebInitParam name/value/description alanları
  • web.xml'in anotasyonu ezme kuralları
  • metadata-complete özniteliği ve fragment taraması
  • Servlet 6.0 şemasında deployment descriptor yapısı
Modül 3
ServletContext Nesnesi
  • getServletContext() erişim yolları
  • <context-param> ile uygulama geneli parametre
  • getContextPath, getRealPath ve getMimeType
  • log() metodu ile container loguna yazma
  • getServerInfo ve getEffectiveMajorVersion sorguları
  • Uygulama başına tek ServletContext örneği ilkesi
Modül 4
Kapsam Karşılaştırması
  • request, session ve application kapsamı farkı
  • Hangi bilgi hangi kapsamda tutulmalı karar tablosu
  • Salt okunur yapılandırma ile değişken durumun ayrımı
  • Lab: aynı parametreyi iki katmanda okuyup çıktıyı karşılaştırma
  • Yanlış kapsam seçiminden doğan hata örnekleri
  • Sınıf yolu ve WEB-INF dizin yapısının rolü
Günün hedefiKatılımcı ServletContextListener ile uygulama başlangıcında kaynak hazırlar, attribute'ları thread-safe kullanır ve paylaşılan nesneleri yönetir.
Modül 1
ServletContextListener
  • contextInitialized ve contextDestroyed yaşam döngüsü
  • @WebListener ile kayıt
  • Başlangıçta DataSource veya cache oluşturma
  • Kapanışta thread pool ve bağlantı temizliği
  • ServletContainerInitializer ile programatik kayıt
  • Listener çalışma sırası ve web.xml sıralaması
Modül 2
Context Attribute'ları
  • setAttribute, getAttribute, removeAttribute
  • ServletContextAttributeListener ile değişiklik izleme
  • Paylaşılan nesnelerde eşzamanlılık riskleri
  • ConcurrentHashMap ve AtomicInteger ile güvenli sayaç
  • Attribute adlandırma standartları ve çakışma önleme
  • Büyük nesneleri application kapsamında tutmanın bellek etkisi
Modül 3
Kaynak Erişimi
  • getResourceAsStream ile WEB-INF altından dosya okuma
  • getResourcePaths ile dizin listeleme
  • Classpath kaynağı ile web kaynağı farkı
  • Yapılandırma dosyasını (properties) servlet açılışında yükleme
  • Sistem ortam değişkeni ile parametre ezme yaklaşımı
  • Karakter kodlaması (UTF-8) ve kaynak okuma hataları
Modül 4
Tomcat'e Dağıtım ve Hata Ayıklama
  • Maven WAR paketleme ve webapps dizinine deploy
  • catalina.out ve localhost log dosyalarını okuma
  • Yanlış init-param adı kaynaklı 500 hatalarının teşhisi
  • Context yeniden yükleme ve hot-deploy farkları
  • Birim testlerde Mockito ile ServletConfig taklidi
  • Üretime hazır yapılandırma kontrol listesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
ServletConfig

ServletConfig ile servlet başına parametre okur ve doğrularsınız.

✅
ServletContext

ServletContext ile uygulama genelinde bilgi ve kaynak paylaşırsınız.

✅
Anotasyon ve XML

@WebInitParam ile web.xml yapılandırmalarını karşılaştırıp ezme kurallarını uygularsınız.

✅
Listener

ServletContextListener ile başlangıç ve kapanış kodunu yazarsınız.

✅
Thread-safety

Context attribute'larında eşzamanlılık hatalarını önleyen kod yazarsınız.

✅
Kaynak erişimi

getResourceAsStream ile WEB-INF altındaki dosyaları okuyabilirsiniz.

✅
Tomcat dağıtımı

WAR dosyasını Tomcat'e dağıtıp logları yorumlayabilirsiniz.

✅
Test edilebilirlik

Mockito ile ServletConfig ve ServletContext'i taklit edip test yazabilirsiniz.

Kimler İçin Uygundur?

  • Java ile web uygulaması geliştiren backend geliştiricileri
  • Spring/Jakarta EE'ye geçmeden önce Servlet temelini sağlamlaştırmak isteyen yazılımcılar
  • Tomcat üzerinde çalışan eski uygulamaları sürdüren ekipler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Java ile web uygulaması geliştiren backend geliştiricileri, Spring/Jakarta EE'ye geçmeden önce Servlet temelini sağlamlaştırmak isteyen yazılımcılar ve Tomcat üzerinde çalışan eski uygulamaları sürdüren ekipler için uygundur.
ServletConfig ile ServletContext arasındaki fark nedir?
ServletConfig tek bir servlete aittir ve onun init parametrelerini taşır; ServletContext ise uygulama başına tek örnektir ve tüm servletler arasında paylaşılır.
Eğitimde javax mı jakarta mı kullanılıyor?
Jakarta EE 10 ile gelen jakarta.servlet paket adları ve Tomcat 10.1 kullanılır; javax'tan geçiş farkları da anlatılır.
Spring Boot bilgisi gerekli mi?
Hayır. Eğitim saf Servlet API üzerindedir; Spring bilgisi gerekmez ve bu temel Spring MVC'yi anlamayı kolaylaştırır.
Eğitim sonunda sertifika verilir mi?
Evet. Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir; sertifika DVA'ya aittir ve üçüncü taraf bir sınavın yerine geçmez.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Jakarta Servlets: ServletContext, ServletConfig, and Initial Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Java ve JVMDeveloping Object-Oriented Programs in Java Eğitimi
Yazılım Geliştirme Eğitimleri

Developing Object-Oriented Programs in Java Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Java nesne yönelimli programlama eğitimi: sınıf, kapsülleme, kalıtım, interface, polimorfizm, composition, SOLID ilkeleri ve UML ile uygulamalı OOP.

Detayları Gör →
Java ve JVMDynamo Servlet Beans & Server-side Java Eğitimi
Yazılım Geliştirme Eğitimleri

Dynamo Servlet Beans & Server-side Java Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Dynamo Servlet Bean eğitimi: ATG Nucleus bileşenleri, özel droplet yazımı, DSP etiketleri, form handler ve Repository API ile sunucu tarafı Java geliştirme.

Detayları Gör →
Java ve JVMEffective Agile Java Development Eğitimi
Yazılım Geliştirme Eğitimleri

Effective Agile Java Development Eğitimi

3 günOrtaOnline / Yüz Yüze / Hibrit

Çevik Java geliştirme eğitimi: TDD, JUnit 5, Mockito, Cucumber BDD, refaktör, temiz kod, Git trunk-based, CI hattı ve SonarQube ile kod kalitesi.

Detayları Gör →
Java ve JVMEffective Java Programming Using Design Patterns Eğitimi
Yazılım Geliştirme Eğitimleri

Effective Java Programming Using Design Patterns Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Java tasarım desenleri eğitimi: GoF creational, structural ve behavioral desenler, Effective Java deyimleri, lambda ile Strategy ve Command, Proxy ve Spring örn

Detayları Gör →
Java ve JVMFSD Development: Java Spring Framework Eğitimi
Yazılım Geliştirme Eğitimleri

FSD Development: Java Spring Framework Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Java Spring full stack geliştirme eğitimi: Spring Boot REST API, JPA, PostgreSQL, JWT güvenlik, React ön yüz, Testcontainers ve Docker Compose ile uçtan uca pro

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn