2011-07-20 102 views
-1

我只是想知道爲什麼只創建一個servlet的副本。如果瀏覽器第一次請求一個servlet。 servlet如何處理這個問題。我知道java在運行之前會編譯代碼。 servlet怎麼樣?最後,信息如何存儲在會話對象中? 我是新來的java servlet,請幫幫我。 謝謝!java servlet問題

+0

它在哪裏說只有一個副本被創建?你的第二句話是什麼意思?問題無法以其當前形式回答。 – EJP

+0

1.按規範只創建一個實例。 2.他們可以;) – Bozho

回答

3
  • 創建一個servlet實例,因爲不再需要其他實例。每個請求通過service(..)方法在一個單獨的線程啓動服務器時
  • 的servlet已經編譯通過 - 他們是.class文件
  • 有一個<load-on-startup>配置,讓您指定何時容器實例化的servlet
  • 會話由會話cookie標識,隨每個請求一起發送。當客戶端發送會話ID時,會在表中查找它,並返回適當的Session對象。
1

是的,當用戶點擊映射到它的URL時,第一次創建的servlet只有一個實例。並留在內存中,直到被類加載器卸載。

每個請求在單獨的線程中服務。

會話是一個範圍,每個用戶具有相關的會話ID,通常它是從請求頭中的cookie映射和服務器識別該用戶從該會話


參見

未來