• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    區分Tomcat與Web服務器、應用服務器的關系

    發布: 2008-7-08 17:16 | 作者: 不詳 | 來源: CCID | 查看: 100次 | 進入軟件測試論壇討論

    領測軟件測試網 Tomcat服務器是一個免費的開放源代碼的Web應用服務器。因為Tomcat技術先進、性能穩定且免費,所以深受Java愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web應用服務器。

     

      一、Tomcat與應用服務器

     

      到目前為止,Tomcat一直被認為是Servlet/JSP API的執行器,也就所謂的Servlet容器。然而,Tomcat并不僅僅如此,它還提供了JNDI和JMX API的實現機制。盡管如此,Tomcat仍然還不能算是應用服務器,因為它不提供大多數J2EE API的支持。

     

      很有意思的是,目前許多的應用服務器通常把Tomcat作為它們Servlet和JSP API的容器。由于Tomcat允許開發者只需通過加入一行致謝,就可以把Tomcat嵌入到它們的應用中。遺憾的是,許多商業應用服務器并沒有遵守此規則。

     

      對于開發者來說,如果是為了尋找利用Servlet、JSP、JNDI和JMX技術來生成Java Web應用的話,選擇Tomcat是一個優秀的解決方案;但是為了尋找支持其他的J2EE API,那么尋找一個應用服務器或者把Tomcat作為應用服務器的輔助,將是一個不錯的解決方案;第三種方式是找到獨立的J2EE API實現,然后把它們跟Tomcat結合起來使用。雖然整合會帶來相關的問題,但是這種方式是最為有效的。

     

      二、Tomcat與Web服務器

     

      Tomcat是提供一個支持Servlet和JSP運行的容器。Servlet和JSP能根據實時需要,產生動態網頁內容。而對于Web服務器來說, Apache僅僅支持靜態網頁,對于支持動態網頁就會顯得無能為力;Tomcat則既能為動態網頁服務,同時也能為靜態網頁提供支持。盡管它沒有通常的Web服務器快、功能也不如Web服務器豐富,但是Tomcat逐漸為支持靜態內容不斷擴充。大多數的Web服務器都是用底層語言編寫如C,利用了相應平臺的特征,因此用純Java編寫的Tomcat執行速度不可能與它們相提并論。

     

      一般來說,大的站點都是將Tomcat與Apache的結合,Apache負責接受所有來自客戶端的HTTP請求,然后將Servlets和JSP的請求轉發給Tomcat來處理。Tomcat完成處理后,將響應傳回給Apache,最后Apache將響應返回給客戶端。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Tomcat tomcat web Web WEB 服務器 關系 應用


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>