Tomcat 學習 應用

Tomcat 學習 應用

  1. what

     ApacheTomcat®軟件是Java Servlet,JavaServer Pages,Java Expression Language和Java WebSocket技術的開源實現。 Java Servlet,JavaServer Pages,Java表達式語言和Java WebSocket規範是根據Java社區流程開發的。
     Tomcat 服務器是一個免費的開放源代碼的Web 應用服務器,屬於輕量級應用服務器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程序的首選。
     Tomcat爲HTML頁面服務,而 實際上運行JSP 頁面和Servlet。Tomcat和IIS等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。
     Web服務器
    
    • Tomcat(Apache):應用最廣的JavaWeb服務器,不完全支持JavaEE規範
    • JBoss(Redhat):支持JavaEE,比較廣,EJB容器
    • GlassFish(Orcale):應用相對少
    • Resin(Caucho):支持JavaEE,越來越廣
    • Weblogic(Orcale):支持JavaEE,收費,大型項目
    • Websphere(IBM):支持JavaEE,收費,大型項目
  2. why

    web瀏覽器只能解析HTML資源,而JSP/Servlet動態資源瀏覽器無法看懂,這時候我們需要像Tomcat這種web服務器將JSP/Servlet動態資源轉換成靜態資源。

  3. how

     當客戶端請求的頁面如果是靜態網頁,服務器會直接將靜態網頁的內容響應給客戶端。如果請求的是動態網頁,服務器需要把填充了數據的動態網頁轉換成靜態網頁,然後再把轉換後的靜態網頁響應給客戶端
     ![Tomcat響應客戶端的請求](https://img-blog.csdn.net/20170707003848217?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY29sb250ZW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
    
    • Tomcat安裝啓動

      • http://tomcat.apache.org/官網下載
      • 解壓版本,無需安裝,一臺機器多個
      • bin目錄下startup.bat(windows腳本)啓動,
        shutdown.bat。 Linux下使用startup.sh和shutdown.sh
    • Tomcat目錄結構

      • /bin:存放windows或Linux平臺上啓動和關閉Tomcat的腳本文件
      • /conf:存放Tomcat服務器的各種全局配置文件,其中最重要的是server.xml和web.xml
      • /doc:存放Tomcat文檔
      • /server:包含三個子目錄:classes、lib和webapps
      • /server/lib:存放Tomcat服務器所需的各種JAR文件
      • /server/webapps:存放Tomcat自帶的兩個WEB應用admin應用和 manager應用
      • /common/lib:存放Tomcat服務器以及所有web應用都可以訪問的jar文件
      • /shared/lib:存放所有web應用都可以訪問的jar文件(但是不能被Tomcat服務器訪問)
      • /logs:存放Tomcat執行時的日誌文件,查看客戶端訪問記錄等等
      • /src:存放Tomcat的源代碼
      • /webapps:Tomcat的主要Web發佈目錄,默認情況下把Web應用文件放於此目錄
      • /work:存放JSP編譯後產生的class文件
    • WEB應用的目錄結構:假設在$CATALINA_HOME/webapps下有helloword的web應用
      • /helloword:Web應用的根目錄,所有的jsp文件和html文件都在此目錄下
      • /helloword/WEB_INF:存放該web應用發佈時的描述文件web.xml
      • /helloword/WEB_INFhelloword/class:存放各種class文件,Servlet文件也存放於此目錄下
      • /helloword/WEB_INF/lib:存放各鍾Web應用所需要的jar文件。比如可以存放JDBC驅動程序的JAR文件
    • Tomcat加載類和資源的順序爲(以helloword應用爲例)
      • helloword (/webapps/helloword/Web-INF/下的classes,lib子目錄中.calss及.jar,僅helloapp可以加載)
      • Bootstrap ($JAVA_HOME/jre/lib/ext/*.jar)
      • System ($CLASSPATH/*.class和CLASSPATH中指定的jar)
      • Common ($CATALINA_HOME/common/下的classes,lib,endores子目錄中.class及.jar)
      • Catalina ($CATALINA_HOME/server/下的classes,lib子目錄中.calss及.jar,僅Tomcat可以加載)
      • Shared ($CATALINA_HOME/shared/下的classes,lib子目錄中.calss及.jar,僅所有Web應用可以加載)
    • * WEB-INF下的資源不允許瀏覽器直接訪問*

    • 訪問Web資源
      瀏覽器輸入URL訪問
      協議名://域名:端口(80端口爲默認端口可省)/路徑
      例如:http://localhost:80/index.jsp(Tomcat歡迎頁)

    • Tomcat配置

    • tomcat 的端口
      • 修改server.xml
        • port值修改爲想要的端口,(修改爲80端口可能遇到端口被佔用的情況System或IIS佔用應先停掉)
        • <Connector port="80" protocol="HTTP/1.1"
          connectionTimeout="20000"
          redirectPort="8443" />
    • tomcat配置項目路勁
      • 默認部署在webapps下
        - 修改server.xml
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context path="hello_word" docBase="D:/helloword"/>
             <!-- 
                 path: 指定當前應用的名稱
                 docBase:指定應用的物理路徑
                 瀏覽器訪問URL:`http://localhost/hello_word
             -->
</Host>
  • conf/catalana/localhost 下建hello_word.xml文件,內容爲:
    • <Context docBase="D:/helloword"/>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章