2011-09-12 12 views
6

Olası Çoğalt:
Why does HttpServlet implement Serializable?Neden java'da HttpServlet seri hale getirilebilir?

Bu soru aniden bir iç tartışmaya gün önce çift geldi ve biz aynı yönelik herhangi uygun bir cevap bulmak için görünmüyor. Beni doğru yöne yönlendiren var mı?

sorular:

1) Neden java implements serializable yılında HttpServlet mı? Aynı mantıksal bir sebep bulmayacağım.

2) api doc baktı bu anlamaya çalışıyorum ve şimdi

public abstract class HttpServlet extends GenericServlet 
implements Serializable 

ilginç bazı şey buldum iken ne ilgi olduğunu GenericServlet da Serializable uzanır olmasıdır. Böylece hem ebeveyn hem de çocuk sınıfı seri hale getirilebilir. Bu bir anti-desen değil mi?

+0

İkinci soruyla ilgili herhangi bir öneriniz var mı? –

cevap

7

1) Neden java'daki httpservlet seri hale getirilebilir? Ben için herhangi bir mantıksal sebep bulmak için görünmüyor.

vb

+0

Pasivasyon nedir? Bu terimi hiç duymadım ve google hakkında bir şey söyledim :( –

+1

@ ganguly.sarthak belki de googling becerileriniz üzerinde çalışmanız gerekiyor: http://www.google.ie/search?sourceid=chrome&ie=UTF-8&q=passivation+servlet :-) –

+0

Ancak, "GenericServlet" üst sınıfı Serializable ise, neden tekrar "HttpServlet" dizisi yeniden işaretlenebilir? – Sid

1

diğer nedeni kapatırken Tomcat gibi web konteynerler bazı kancaları çağırır olmasıdır VMs arasında kümeleme ve seri, pasivasyon desteklemek. Bu kancalar, hdd'deki uygulamaların/sunucuların durumunu korur, böylece web kabı yeniden başlatıldığında, uygulama durumu kaybetmez.

+1

Eh, bir Servlet diş güvenli veya en azından hiç konuşma durumu içermemelidir. Peki ihtiyaç nedir? –

+0

@AmirPashazadeh A Servlet, her kullanıcı için * çok * konuşma durumu içerebilir. İstek/Yanıt döngüleri arasında bu durumu izleyerek, bir “oturum” nesnesinin tüm noktası budur. Servlet konteyneri çalışırken bu durum bellekte yaşar. Konteyner çıktığı zaman, Poof !, bellek temizlendi, oturum durumu gitti. Bu Cevapdaki fikir, * bazı * Servlet konteynerlerinin, bu durumu, seri hale getirme yoluyla, devlet verilerini “dehidrate etmek” üzere depolamaya kaydetmek için isteğe bağlı bir özellik sunması ile ilgilidir. Konteynerin yeniden başlatılmasından sonra, kullanıcının bıraktığı yerde çalışmalarına devam etmesine izin vermek için oturum tekrar hidratlanır. –

İlgili konular