容器

你的問題可以概括爲兩點:1,什麼是容器;2,爲什麼需要特定的容器。
  第一個問題。容器,你可以理解爲“具備滿足特定需求條件的環境”。怎麼理解這句話呢?打個比方,生存是每個人的需求,而地球就是我們生存的環境,因爲它具備生存的條件--氧氣。如果換個環境到火星上去,我們就掛了。同樣的,運行java程序,編譯解釋java源文件是需求,而JVM就是這個環境,因爲它具備編譯解釋器。所以說,容器其實只是一個概念,是無形的,千萬別把它想成金魚缸。只要將某些條件組合在一起,形成一個能滿足特定需求的環境,就可以把這個環境稱之爲容器。
  第二個問題。第一個問題如果清楚了,這個問題就不是問題了。需求不一樣,需要的環境當然不一樣了。以tomcat爲例,因爲它支持web協議,支持jsp和servlet,具備發佈和運行一個web應用所需的所有條件,所以它一直作爲一個最常見的web服務器來使用。但是碰到j2ee就不行了,因爲它不支持。所以當我們需要使用j2ee技術時,就需要用到websphere這樣的j2ee容器。tomcat等容器都是些成熟的產品,有好的東西當然要拿來用了,特別是開源的,不用白不用。
  另外還有兩點想說下。一,你提到了"複雜而龐大"這個詞,爲什麼tomcat等軟件這麼複雜?沒錯,因爲需求,不復雜,怎麼能滿足需求呢?你覺得複雜,只是因爲你不瞭解需求,或者說你沒有深入的瞭解需求。正所謂外行看熱鬧,內行看門道。二,你提到的那個“思路”,根本不能滿足需求。具體不多說,就拿第一句來說。“用java實現一個監聽程序,得到HTTP的請求信息”,監聽程序?這是個什麼類?如何監聽?如何得到http請求信息?我在我機器的瀏覽器上輸入個網址,你機器上的java類就能監聽的到?
  學海無涯啊!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章