30 top servlet interview questions
Mülakat Hazırlamada Size Yardımcı Olacak En Sık Sorulan Servlet Mülakat Soruları ve Cevapları:
Bu Servlet soru serisi, herhangi bir Servlet görüşmesi boyunca size yol gösterecektir.
Servlet'in ne olduğu, servlet'in neden ortaya çıktığı, sunucu uygulamasının yaşam döngüsü ve yöntemleri, Başlangıçta yük, WAR dosyası, Dağıtım Tanımlayıcısı ve işlevi ve Hoş Geldiniz dosyası ve önemi hakkında her şeyi içerir.
Ayrıca servlet'in nasıl çalıştığını, Servlet İşbirliği, Servlet yapılandırması, Servlet bağlamı, Oturum izleme ve teknikleri ve faydaları, Olaylar, filtre, çalışma prensibi ve önemini öğreneceğiz.
Mülakatçı her zaman cevabınızda röportajlarda kullanışlı olacak bazı gerçek zamanlı örnekler bekler. Dolayısıyla tüm bu soruları iyice gözden geçirirseniz ve kendi sözlerinizle açıklayabilirseniz, o zaman bir röportajdan geçebilirsiniz.
En İyi Servlet Mülakat Soruları
İşte bu makalede ele alınan bazı önemli soruların hızlı bir listesi:
- Servlet nedir?
- Sunucu uygulaması türleri
- Servlet Yaşam Döngüsü
- Servlet Yaşam Döngüsü yöntemleri
- Servlet Nasıl Çalışır?
- WAR dosyası ve kullanımı?
- Başlangıçta Yük nedir ve önemi?
- Dağıtım tanımlayıcısı nedir?
- Servlet İşbirliği prosedürü
- RequestDispatcher nedir?
- SendRedirect yöntemi ve kullanımı nedir?
- Servlet Yapılandırması ve Servlet Bağlamı Hakkında
- Oturum izleme ve teknikleri hakkında
- Çerezler, Gizli Form Alanları, URL vb.
- Etkinlikler hakkında
- Filtre nedir ve türleri nelerdir?
Ayrıntılı yanıtlarla başlayalım.
S # 1) Servlet ile neyi kastediyorsunuz?
Cevap: Servlet, web uygulamaları oluşturmak için kullanılan güçlü bir mekanizmadır.
Sunucu tarafında yer alır ve dinamik web sayfalarının oluşturulmasına yardımcı olur, temelde tarayıcıdan gelen HTTP isteği ile veri tabanı arasında aracı görevi görür.
Servlet Java Diline dayalıdır, bu nedenle sağlamdır ve sunucu tarafı programlama dili olarak adlandırılır.
Yukarıdaki diyagram, Servlet'in akışını açıklamaktadır.
Web sayfasından sunucu uygulamasına bir istek gelir, sunucu uygulaması isteği uygun JSP sayfasına yeniden yönlendirir ve JSP sayfası yanıtı kullanıcı tarafından görülebilen bir sonuç sayfası olarak gönderir.
Önerilen Okuma = >> JSP Mülakat Soruları
S # 2) CGI nedir ve sakıncaları nelerdir?
Cevap: CGI, Web Sunucusu üzerinden bir web sunucusunda çalışan bir istemciyle etkileşimde bulunmak için kullanılan, sunucu tarafında yazılan bir dizi kod olan Ortak Ağ Geçidi Arayüzü anlamına gelir.
Gelen talebi alır ve her yeni talep için yeni bir işlem başlatır.
Ortak Ağ Geçidi Arayüzünün Dezavantajları:
- Gelen her talep için yeni bir süreç oluşturduğundan, gelen taleplerin sayısı daha fazlaysa, üretilen yanıt çok yavaş olacak ve bu da verimliliği azaltacaktır.
- CGI platforma bağlıdır.
S # 3) Servlet'in CGI'ye göre avantajları nelerdir?
unix'te cut komutu nasıl kullanılır
Cevap: Sunucu uygulamasının avantajları aşağıdaki gibidir:
- Servlet, gelen her istek için bir iş parçacığı oluşturur ve işlemden geçirmez, dolayısıyla daha hızlıdır.
- Servlet, Java Programlama Diline dayalı olduğu için platformdan bağımsızdır.
- Java tabanlı olduğu için aynı zamanda sağlam ve güvenlidir.
S # 4) Bir Servlet kodda nasıl uygulanır?
Cevap: Servlet, yalnızca Httpservlet veya jenerik sunucu uygulaması sınıfını genişleterek kodda uygulanabilir.
S # 5) Http Servlet ile Generic Servlet arasındaki fark nedir?
Cevap: Generic Servlet, her türlü isteği işleyebilir. Bir service () yöntemine sahip olduğu için bağımsızdır, oysa Http Servlet genel sunucu uygulamasını genişletir ve doGet (), doPost (), doHead (), doTrace (), vb. Gibi HTTP yöntemlerini destekler.
S # 6) Servlet’in yaşam döngüsü yöntemleri nelerdir?
Cevap: Bir sunucu uygulamasının temel olarak üç yaşam döngüsü yöntemi vardır.
Bunlar:
- İçinde ()
- Hizmet ()
- Yok Et ()
S # 7) Servlet Yaşam Döngüsünü açıklayın.
Cevap: Bir sunucu uygulamasının yaşam döngüsü aşağıdaki diyagrama göre açıklanmaktadır.
- İlk olarak, Servlet sınıfı, İstemciden alınan talebe göre yüklenir.
- Daha sonra sunucu uygulamasının yeni örneği veya nesnesi oluşturulur. Her yaşam döngüsü için yalnızca bir nesne oluşturulur.
- Daha sonra sunucu uygulamasını başlatmak için kullanılan Init () yöntemi çağrılır.
Sözdizimi: public void Init ()
- Service () yöntemi, herhangi bir işlemi gerçekleştirmek için yeni bir istek alındığında her seferinde çağrılır.
Sözdizimi: genel geçersiz hizmet ()
- Ardından, temizleme işlemini gerçekleştirmek için yok etme yöntemi çağrılır.
Sözdizimi: yok et ()
Servlet Akış Şeması
S # 8) Web konteyneri nedir ve sorumluluğu nedir?
Cevap: Bir web konteyneri, Servlet konteyneri olarak da adlandırılır ve Servlet ile etkileşim için kullanılır ve içindeki tüm Servlet, JSP, XML dosyalarını içerir. Web kapsayıcısı, bir sunucu uygulamasının yaşam döngüsünü yönetir ve URL'yi belirli bir sunucu uygulamasına eşlemeye yardımcı olur. Web kapsayıcısı bir sunucu uygulamasının nesnesini oluşturur.
S # 9) Get () yönteminin Post () yönteminden farkı nedir?
Cevap: Get () yönteminin Post () yöntemine tercih edilme nedenleri aşağıda verilmiştir.
Get () yöntemi:
- Burada, başlık üzerinden veri gönderilirken belirli miktarda veri veya bilgi gönderilebilir.
- Get () yönteminde, URL çubuğunda kullanıcıya sunulduğu için veriler güvenli değildir.
- Get () yöntemi yer imlerine eklenebilir.
- Genellikle get () yöntemi daha etkilidir ve post () yöntemine göre kullanılır.
Gönderi () yöntemi:
- Burada veriler vücut yoluyla gönderilirken çok büyük miktarda veri veya bilgi aktarılabilir.
- Post () yöntemindeki veriler gövde üzerinden gönderildiği için güvence altına alınır.
- Post () yöntemine yer işareti koyulamaz.
- Genellikle, Post () yöntemi daha az etkilidir ve sıklıkla kullanılmaz.
S # 10) Servlet döngüsü veya zincirleme nedir?
Cevap: Servlet döngüsü, bir sunucu uygulamasının çıktısının başka bir sunucu uygulamasına girdi olarak verildiği ve son sunucu uygulamasının çıktısının istemciye sağlanan gerçek çıktı olarak kabul edildiği bir işlemdir.
Bu süreç, istek dağıtıcı arabirimi aracılığıyla gerçekleştirilir.
S # 11) İki veya üç sunucu uygulaması birbiriyle nasıl etkileşim kuracak veya iletişim kuracak?
Cevap: Sunucu uygulamalarının birbirleriyle iletişim kurabildiği iki işlem vardır.
- Dağıtıcı Arayüzü İste
- Servlet Zinciri
S # 12) İstek Göndericiyi ve yöntemlerini açıklayın.
Cevap: İstek Dağıtıcı, tarayıcıdan veya istemciden istekleri almaktan sorumlu bir nesne oluşturur ve ardından bunları, sunucu tarafında bulunan Servletler, JSP veya HTML gibi herhangi bir kaynağa yönlendirir.
Temel olarak iki istek dağıtıcısı yöntemi vardır:
a) Forward () yöntemi:
- Forward () yönteminde, istemci isteği Servlet1'e gönderir.
- Servlet1 isteği işler ve ardından isteği Servlet2'ye iletir.
- Sunucu uygulamacığı2, isteği işler ve bir yanıt oluşturur ve bu yanıt, son yanıt olarak müşteriye geri gönderilir.
b) Include () yöntemi:
- Include () yönteminde istemci, isteği Servlet1'e gönderir.
- Servlet1, isteği işler ve ardından isteği içerir ve isteği Servlet2'ye gönderir.
- Sunucu uygulaması2 isteği işler ve tekrar Servlet1'e geri gönderir ve
- Servlet1, müşteriye nihai yanıt olarak geri gönderilen bir yanıt üretir.
S # 13) Send Redirect () yönteminin kullanımı nedir?
Cevap: İstemci tarafında çalışan Send Redirect () yöntemi, yanıtı Servlet, JSP, HTML gibi başka bir kaynağa yönlendirmek için kullanılır.
Sözdizimi: void gönderme Yönlendirme (URL);
Misal: response.sendredirect (“http://www.google.com”);
S # 14) Forward () yönteminin Send Redirect () yönteminden farkı nedir?
Cevap:
Forward () yöntemi:
- Aynı isteği başka bir kaynağa göndermek için kullanılır.
- Sunucu içerisinde sunucu tarafında çalışır.
Yönlendirme () yöntemi gönder:
- URL'yi kullandığı için kaynaklara her zaman yeni bir istek gönderir.
- Hem sunucunun dışında hem de içinde istemci tarafında çalışır.
S # 15) WAR dosyasını açıklar mısınız?
Cevap: Bir WAR dosyası temelde, uygulamanızın XML, servletler, JSP, HTML, yapılandırma dosyaları gibi tüm dosyalarını tek bir dosyada birleştirerek uygulamayı dağıtmanın basit ve kolay olmasını sağlayan Web Arşivlenmiş dosyası olarak adlandırılır.
Dağıtım için bir WAR dosyası kullanılması tavsiye edilir.
c ++ karma tablo uygulaması
S # 16) Servlet Context ile neyi kastediyorsunuz?
Cevap: Servlet Context temelde uygulama ve Web Container ile ilgili bilgileri içeren bir nesne olarak adlandırılır. Servlet bağlamı ile olayları günlüğe kaydedebilir, belirli kaynağın URL'sini alabilir ve diğer sunucu uygulamalarının kullanması için öznitelikleri kolayca depolayabiliriz.
Servlet'in temel avantajı, bakımının kolay olması ve konteyner ile sunucu uygulaması arasında aracı görevi görmesidir.
Aşağıda verilen bazı önemli sunucu bağlamı yöntemleri vardır:
- getInitParameter () - parametrenin değerini döndürür.
- getInitParameterNames () - parametrenin adını döndürür.
- void setAttribute () - özniteliklerin değerlerini ayarlamak için kullanılır.
- void getAttribute () - özniteliklerin değerlerini almak için kullanılır.
- void removeAttribute () - özelliği kaldırmak için kullanılır.
S # 17) Servlet'in işlevleri tam olarak nedir?
Cevap: Servletler tarafından gerçekleştirilen işlevler aşağıdaki gibidir:
- İlk olarak, Servletler istemci tarafından gönderilen HTTP talebini alır.
- Talebi okur ve talepten verileri çıkarır.
- Bilgiyi çıkardıktan sonra, sunucu uygulamaları bir veritabanına erişerek veya EJB'leri çağırarak bir iş mantığı işlemi gerçekleştirir.
- Son olarak, bir yanıt oluşturur ve bunu istemciye HTTP biçiminde gönderir veya yanıtı JSP sayfasına gönderir.
S # 18) Dağıtım tanımlayıcısı ile ne demek istiyorsunuz?
Cevap: WEB.XML'nin bir sunucu uygulamasında dağıtım tanımlayıcısı olduğu söylenir.
Herhangi bir uygulama için giriş noktasıdır ve karşılama dosyası listesine sahiptir. Kaynakları tanımlar, hangi sunucu uygulamasının kullanılacağı hakkında bilgi verir ve sunucu uygulamasını URL ile eşler.
S # 19) Oturum takibini ve önemini açıklayın?
Cevap: Oturum izleme, müşterinin veya kullanıcının verilerinin korunabileceği bir süreçtir.
Sunucuya her yeni istek geldiğinde, sunucu yeni isteğin aynı istemciden geldiğini fark edemez, bu sorunu önlemek için oturum izleme tekniği kullanılır.
Oturum İzleme, müşteriyi veya talebi tanımak için hayati bir rol oynar.
S # 20) Farklı Oturum İzleme Teknikleri nelerdir?
Cevap:
Aşağıda verilen temel olarak dört tür teknik vardır:
a) Çerezler: Çerezler, birden çok müşteri isteğine eklenen küçük bilgilerdir.
Misal: Sunucuya bir istek gelir, sunucu yanıtla birlikte bazı tanımlama bilgileri ekler, şimdi aynı istemci isteği sunucuya tekrar gönderdiğinde sunucu kullanıcıyı tanır.
b) Gizli Form Alanı: Burada kullanıcının durumunu korumak için gizli bir metin alanı kullanıyoruz.
c) URL Yeniden Yazma: Burada, eşlenecek sonraki sunucu uygulaması için fazladan bir bağlantı veriyoruz.
d) Http Oturumu: Burada her kullanıcı için belirli bir kimlik oluşturulur, böylece bir sunucu kullanıcıyı tanıyabilir.
S # 21) Servlet olayları nelerdir?
Cevap: Olaylar, olaylardan başka bir şey değildir. Nesnenin durumunu değiştirmek bile bir olaydır.
Olay sınıfları ve arayüz aşağıdaki gibidir:
- Sınıflar: ServletRequestEvent, ServletContextEvent, HttpSessionEvent vb.
- Arayüzler: ServletRequestListner, ServletContextListner, HttpSessionListner vb.
S # 22) Filtre derken neyi kastediyorsunuz ve nasıl çalışıyor?
Cevap: Filtre, temelde nesneleri filtrelemek için kullanılır.
Benzer bir şekilde, Sunucu uygulamasındaki filtre, talebin ön işlenmesi ve talebin sonradan işlenmesi sırasında sunulan bir nesnedir. Başlıca işlevleri arasında dönüştürme, şifreleme ve değerlerin şifresini çözme, veri giriş doğrulamaları IP adresini yakalar ve gelen tüm istekleri kaydeder.
Web.xml'de bir filtre tanımlanır ve web.xml'den kaldırılabilir, böylece sunucu uygulamasının değiştirilmesine gerek kalmaz, bu da maliyet azalmasına neden olur.
Servlet Filtresi çalışma şeması
S # 23) Başlangıçtaki yükü ve önemini açıklayın?
Cevap: Başlangıçta yükleme, sunucu yeniden başlatılırken sunucu uygulamasının dağıtım anında yüklenmesine yardımcı olan web.xml'de (dağıtım tanımlayıcısı) tanımlanan bir öğedir.
Başlangıçta yükü kullanmanın nedeni, servlet alınan ilk talep üzerine yüklendiğinden, başlangıçta yüklemenin daha fazla zaman almasıdır ve başlangıçta ödünç vermeyi tanımlarsak, yükler sunucu yeniden başlatılırken sunucu uygulaması verimliliği artırır.
Başlangıçtaki yük de iki değer üzerinde çalışıyor:
- Olumlu (0,1,2,3….): En düşük pozitif değer ilk olarak yüklenecektir.
- Olumsuz: Sunucu uygulaması, ilk istek alındığında yüklenecektir.
S # 24) Servlet senkronize mi?
Cevap: Hayır, sunucu uygulamaları senkronize değil. Sunucu uygulamasının senkronize olmasını istiyorsak, SingleThreadInterface uygulamalıyız.
S # 25) Kapsam Nesnesi ile neyi kastediyorsunuz ve türleri nelerdir?
Cevap: Scope nesneleri, setattribute () ve getattribute () aracılığıyla web bileşenleri arasında bilgi paylaşımına yardımcı olur.
Kapsam Nesnelerinin Türleri:
- Web Bağlamı
- Oturum, toplantı, celse
- İstek
- Sayfa
S # 26) Yerelleştirme terimi neyi ifade eder?
Cevap: Yerelleştirme, temelde yerel gelenek veya kullanıcı tarafından izlenen dili ifade eder. Bu nedenle, her kullanıcının anlayabilmesi için belirli web sitesine Hintçe dilini eklemek gibi kaynaklar veya öğeler ekliyoruz.
S # 27) Sunucu uygulaması birden çok istek alırsa, kaç tane nesne oluşturacaktır?
Cevap: Servlet, gelen istek sayısı ne olursa olsun, yalnızca bir örnek oluşturur.
S # 28) Servlet ve Applet arasındaki en büyük fark nedir?
Cevap: Servlet ve Applet arasındaki en büyük fark, Servlet'in Sunucu tarafında, Applet'in ise web tarayıcısında istemci tarafında bulunmasıdır.
S # 29) Servlet içinde bir Kurucu bulundurmak mümkün mü?
Cevap: Evet, bir sunucu uygulamasının içinde bir kurucu tanımlamak mümkündür, ancak yalnızca Servlet kapsayıcısı tarafından çağrılabilir ve açık bir şekilde çağrılamaz.
S # 30) Servlet ile çalışan paketleri adlandırın?
Cevap: Aşağıda gösterildiği gibi Servlet ile çalışan temelde iki paket vardır:
- Javax.servlet
- Javax.servlet.http
S # 31) HTTP isteklerinin türleri nelerdir?
Cevap: HTTP isteği türleri şunları içerir:
- Almak
- İleti
- Kafa
- Seçenekler
- Koymak
- İzleme
- Sil
S # 32) Bağlam Parametresi ve Bağlam Özniteliği arasındaki temel fark nedir?
Cevap: İkisi arasındaki en büyük fark,
Bağlam Parametresi, dağıtım tanımlayıcısında, yani web.xml'de saklanan bir değerdir ve dağıtım işlemi sırasında yüklenir. Oysa Bağlam Özniteliği, dinamik olarak ayarlanan ve uygulama boyunca kullanılabilen değerlerdir.
S # 33) Sunucu uygulamasını zincirleme süreci nedir?
Cevap: Servlet zincirleme, bir sunucu uygulamasının çıktısını başka bir sunucu uygulamasına girdi olarak verdiğimiz çok basit bir işlemdir.
android için en iyi casus uygulaması nedir
İlk olarak, zincirlenmesi gereken bir kaynak için bir RequestDispatcher oluşturmalıyız. Daha sonra gerekirse istek için öznitelik değerlerini belirlememiz gerekir. Ardından bir RequestDispatcher nesnesinde forward () yöntemini veya include () yöntemini çağırmamız gerekir.
Eminim Servlet'in neyle ilgili olduğuna dair net bir fikre sahip olacaksınız!
Hepinize başarılar dileriz !!
Önerilen Kaynaklar
- Mülakat Soruları ve Cevapları
- ETL Test Mülakat Soruları ve Cevapları
- En Popüler 30+ Salatalık Röportaj Soruları ve Cevapları
- En İyi 30 SAS Mülakat Soruları ve Cevapları
- En İyi 30 Güvenlik Testi Görüşme Soruları ve Cevapları
- 30'dan Fazla En İyi Scrum Mülakat Soruları ve Cevapları (2021 LİSTESİ)
- İlk 30 DBMS Mülakat Soruları ve Cevapları
- 2021'deki En Önemli 30 PL / SQL Mülakat Soruları ve Cevapları