ADVANCED JAKARTA SERVLETS: REQUEST/RESPONSE WRAPPERS AND DISPATCHER TYPES EĞİTİMİ

Request ve response sarmalayıcılarıyla akışı kontrol et

Wrapper deseniyle istek ve yanıtı dönüştürün; forward, include, error ve async dispatch akışlarını ustalıkla yönetin.

Servlet Wrapper ve Dispatcher Türleri eğitimi 2 günlük uygulamalı programda wrapper deseni, request wrapper uygulamaları, body'yi tekrar okutma, response wrapper uygulamaları gibi konuları kapsar.

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

Eğitim Hakkında

Wrapper deseni, RequestDispatcher ve DispatcherType akışları

Bu eğitim, Jakarta Servlet'te istek/yanıtı sarmalama (decorator) ve dispatch mekanizmalarını ileri düzeyde işler. HttpServletRequestWrapper ile parametre/başlık değiştirme, tekrar okunabilir body (ServletInputStream önbellekleme), HTML karakter temizleme, HttpServletResponseWrapper ile yanıt yakalama, gzip sıkıştırma ve çıktı değiştirme uygulanır. RequestDispatcher forward/include farkları, include sırasında kısıtlı attribute'lar, DispatcherType (REQUEST, FORWARD, INCLUDE, ERROR, ASYNC), filtre eşleme ve AsyncContext.dispatch ile hata ve asenkron akışlar ele alınır.

Süre ve Format

2 Gün. Her gün dört modül; katılımcılar request ve response wrapper konusundan başlayıp dispatch mekanizmaları konusuyla tamamlar.

Seviye

İleri Seviye — HttpServletRequestWrapper, HttpServletResponseWrapper, RequestDispatcher ve DispatcherType ile istek akışı kontrolü.

Öğrenme Metodu

Katılımcılar filtre içinde wrapper sınıfları yazar; dispatch türlerine göre filtre çıktılarını loglayarak akışı adım adım izler.

Neden Bu Eğitim?

🎁Decorator Gücü

İstek ve yanıtı orijinal servlete dokunmadan dönüştürürsünüz.

🔀Dispatch Hakimiyeti

Forward, include, error ve async akışlarında filtrenin davranışını bilirsiniz.

🧯Hata Önleme

Yanıt zaten commit edilmiş hataları ve çift okuma sorunlarını çözersiniz.

Anahtar Konular

httpservletrequestwrapperhttpservletresponsewrapperrequestdispatcherdispatchertypeservlet wrapperservlet forward includejakarta servlet ileriasynccontextservlet filter wrapperjava web ileri
“Sarmalayıcı, orijinali bozmadan akışı yeniden yazdırır.”

Ön Koşullar

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

1
Java Temeli

Sınıf, koleksiyon ve istisna yönetimi gibi temel Java bilgisi beklenir.

2
HTTP Bilgisi

İstek-yanıt modeli, durum kodları ve başlık kavramlarına aşinalık faydalıdır.

3
Uygulama Sunucusu

Tomcat, Jetty veya benzeri bir servlet konteyneri kurulumu yapılabilecek ortam gerekir.

4
Araçlar

Maven ile proje oluşturma ve IDE üzerinden dağıtım yapma deneyimi yararlıdır.

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ı, wrapper sınıflarıyla istek ve yanıtı dönüştürür; body'yi tekrar okunabilir yapar.
Modül 1
Wrapper Deseni
  • Decorator tasarım deseni ve servlet API'sine uyumu
  • HttpServletRequestWrapper ve ServletRequestWrapper
  • Wrapper'ın filtre zincirinde iletilmesi
  • Orijinal nesneye delegasyon kuralı
  • getRequest() ile sarılmış nesneye erişim
  • Neden her metodu yeniden yazmak gerekmez
Modül 2
Request Wrapper Uygulamaları
  • getParameter'ı geçersiz kılıp girdi temizleme (XSS)
  • Ek başlık ekleyen getHeader override
  • getRemoteAddr'ı X-Forwarded-For'dan çözme
  • URI yeniden yazma (rewrite) ve getRequestURI
  • Kullanıcı kimliğini getUserPrincipal ile enjekte etme
  • getParameterMap değişmezlik tuzağı
Modül 3
Body'yi Tekrar Okutma
  • InputStream'in yalnızca bir kez okunabilmesi
  • Body'yi byte[] olarak önbellekleme
  • ServletInputStream alt sınıfı: isFinished, isReady, read
  • getReader ve getInputStream çakışması
  • İmza doğrulama ve audit için body kullanımı
  • Büyük body için bellek ve boyut sınırı
Modül 4
Response Wrapper Uygulamaları
  • HttpServletResponseWrapper ile çıktıyı yakalama
  • CharArrayWriter ile HTML çıktısını değiştirme
  • ServletOutputStream alt sınıfı
  • Gzip sıkıştırma wrapper'ı ve Content-Length
  • Yanıt boyutu ve süre ölçümü
  • Hata sırasında wrapper ve commit durumu
Günün hedefiKatılımcı, dispatch türlerini ayırt eder ve filtre/wrapper davranışını her akışta doğru yönetir.
Modül 1
RequestDispatcher
  • getRequestDispatcher ve getNamedDispatcher
  • Göreli ve mutlak yol çözümleme
  • forward: yanıt kontrolünün devri
  • include: yanıt parçası ekleme
  • forward sonrası yanıt commit hatası (IllegalStateException)
  • Dispatcher ile JSP ve servlet çağırma
Modül 2
Forward ve Include Attribute'ları
  • jakarta.servlet.forward.* attribute'ları
  • jakarta.servlet.include.* attribute'ları
  • Orijinal URI ve query string erişimi
  • Include sırasında başlık/durum kodu kısıtı
  • Wrapper'ın forward sonrası görünümü
  • Yetkilendirme ve forward ile yan kapıdan erişim riski
Modül 3
DispatcherType ve Filtreler
  • REQUEST, FORWARD, INCLUDE, ERROR, ASYNC
  • @WebFilter dispatcherTypes ayarı
  • web.xml filter-mapping içinde dispatcher
  • ERROR dispatch ve hata sayfası filtreleri
  • Aynı filtrenin birden çok kez çalışması
  • Her türün loglanması ve akış diyagramı
Modül 4
Async ve Hata Akışları
  • startAsync ve AsyncContext
  • AsyncContext.dispatch ve ASYNC DispatcherType
  • AsyncListener ile tamamlanma ve zaman aşımı
  • Wrapper'ların async akışta korunması
  • Error page eşlemesi: exception-type ve error-code
  • Üretim hata ayıklama: dispatch izleme kontrol listesi

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Wrapper Yazımı

Request ve Response wrapper sınıflarını doğru delegasyonla yazabilirsiniz.

🧠
Girdi Temizleme

Wrapper ile parametre temizleme ve XSS azaltma uygulayabilirsiniz.

⚙️
Body Önbellekleme

İstek body'sini tekrar okunabilir hale getirebilirsiniz.

🔍
Yanıt Yakalama

Response wrapper ile çıktıyı yakalayıp dönüştürebilirsiniz.

🛠️
Gzip Uygulama

Wrapper ile yanıt sıkıştırma filtresi geliştirebilirsiniz.

📈
Dispatch Farkı

Forward ve include davranışlarını attribute'larıyla birlikte açıklayabilirsiniz.

🧩
DispatcherType

Filtre eşlemelerini dispatcher türlerine göre yapılandırabilirsiniz.

🚀
Async Akış

AsyncContext.dispatch akışlarını filtre ve wrapper ile birlikte yönetebilirsiniz.

Kimler İçin Uygundur?

  • Servlet ve filtreleri bilen
  • istek/yanıt akışı üzerinde ileri denetim isteyen deneyimli Java web geliştiricileri için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Servlet ve filtreleri bilen, istek/yanıt akışı üzerinde ileri denetim isteyen deneyimli Java web geliştiricileri için uygundur.
Bu eğitim Filtre eğitiminden sonra mı alınmalı?
Evet, filtre yazma becerisi öngörülür; bu eğitim filtrelerin içinde wrapper ve dispatch türleriyle ileri kontrol sağlamayı hedefler.
Request body neden tekrar okunamaz?
InputStream bir kez tüketilen akıştır; eğitimde body'nin wrapper ile byte dizisine önbelleklenip tekrar sunulması uygulanır.
Eğitim için hangi ön bilgi ve ortam gerekir?
Sınıf, koleksiyon ve istisna yönetimi gibi temel Java bilgisi beklenir. İstek-yanıt modeli, durum kodları ve başlık kavramlarına aşinalık faydalıdır. Tomcat, Jetty veya benzeri bir servlet konteyneri kurulumu yapılabilecek ortam gerekir.
Eğitim sonunda sertifika verilir mi?
Eğitimi tamamlayan katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir. 2 günlük program boyunca uygulama çalışmalarının tamamlanması beklenir.

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. Advanced Jakarta Servlets: Request/Response Wrappers and Dis Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn