天天看點

Tomcat入門篇1.web相關概念回顧2.web伺服器軟體:3.Tomcat

文章目錄

  • 1.web相關概念回顧
  • 2.web伺服器軟體:
  • 3.Tomcat
      • (1)下載下傳:
      • (2)安裝:解壓壓縮包即可。
      • (3)解除安裝:
      • (4)啟動:
      • (5)關閉:
      • (6)配置:

1.web相關概念回顧

  1. 軟體架構
    1. C/S:用戶端/伺服器端
    2. B/S:浏覽器/伺服器端
  2. 資源分類
    1. 靜态資源:所有使用者通路後,得到的結果都是一樣的,稱為靜态資源.靜态資源可以直接被浏覽器解析
      • 如: html,css,JavaScript
    2. 動态資源:每個使用者通路相同資源後,得到的結果可能不一樣。稱為動态資源。動态資源被通路後,需要先轉換為靜态資源,在傳回給浏覽器。
      • 如:servlet/jsp,php,asp…
  3. 網絡通信三要素
    1. IP:電子裝置(計算機)在網絡中的唯一辨別。
    2. 端口:應用程式在計算機中的唯一辨別。 0~65536
    3. 傳輸協定:規定了資料傳輸的規則
      1. 基礎協定:
        1. tcp:安全協定,三次握手。 速度稍慢
        2. udp:不安全協定。 速度快

2.web伺服器軟體:

  1. 伺服器:安裝了伺服器軟體的計算機
  2. 伺服器軟體:接收使用者的請求,處理請求,做出響應。(如mysql軟體等)
  3. web伺服器軟體:接收使用者的請求,處理請求,做出響應。(使用者通過浏覽器通路的)

在web伺服器軟體中,可以部署web項目,讓使用者通過浏覽器來通路這些項目

web伺服器有時候被稱為:web容器。

補充:動态資源不能直接地運作,它得依賴web伺服器軟體,也就是說動态資源隻能運作在web伺服器軟體裡面。

  1. 常見的java相關的web伺服器軟體:
  • webLogic:oracle公司,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
  • webSphere:IBM公司,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
  • JBOSS:JBOSS公司的,大型的JavaEE伺服器,支援所有的JavaEE規範,收費的。
  • Tomcat:Apache基金組織,中小型的JavaEE伺服器,僅僅支援少量的JavaEE規範servlet/jsp。開源的,免費的。

    (解釋:你用Tomcat運作大型的Java項目,有的規範,Tomcat并不支援。但它支援servlet/jsp這兩個規範就夠我現階段的使用了。)

其他:

JavaSE是Java的基礎知識,JavaEE是Java的企業版,JavaME是Java的迷你版。

JavaEE:Java語言在企業級開發中使用的技術規範的總和,一共規定了13項大的規範。

3.Tomcat

(1)下載下傳:

http://tomcat.apache.org/

(2)安裝:解壓壓縮包即可。

注意:安裝目錄建議不要有中文和空格

(3)解除安裝:

删除目錄就行了

(4)啟動:

  1. bin/startup.bat ,輕按兩下運作該檔案即可

    補充:.bat是批處理檔案,裡面寫着window的dos指令。Tomcat是純Java編寫的,它的啟動和運作是依賴你電腦上的jdk的。

  2. 通路:浏覽器輸入:http://localhost:8080 回車通路自己

    http://别人的ip:8080 通路别人

可能遇到的問題:

  1. 黑視窗一閃而過:

    原因: 沒有正确配置JAVA_HOME環境變量

    解決方案:正确配置JAVA_HOME環境變量

  2. 啟動報錯:

    原因:BinException:Address already iin use:bind。這個報錯是端口号沖突了或者說端口号被占用了。

    當你啟動一個Tomcat運作時,Tomcat會占用8080端口,而你再次啟動Tomcat時,還得用8080端口,這個時候就沖突了。

    解決方案:

    a. 暴力:找到占用的端口号,并且找到對應的程序,結束該程序。

    在cmd中輸入:netstat -ano,找到8080端口,看它的PID(程序ID),然後在任務管理器中可以找到該程序。

    b. 溫柔:修改自身的端口号。

//在conf/server.xml
	<Connector port="8888" protocol="HTTP/1.1"
	connectionTimeout="20000"
	redirectPort="8445" />
           

一個特殊的端口号,一般會将tomcat的預設端口号修改為80。80端口号是http協定的預設端口号。

好處:在通路時,就不用輸入端口号

注意:要改這個檔案裡好幾個地方的端口值,不單單是預設的8080。

(5)關閉:

a. 正常關閉:

  • bin/shutdown.bat。
  • ctrl+c

b. 強制關閉:

  • 點選啟動視窗的×

(6)配置:

1)部署項目的方式:

a. 直接将項目放到webapps目錄下即可。

  • 浏覽器通過localhost:8080/hello/hello.html就可以通路到了。
    • /hello:項目的通路路徑–>稱為:虛拟目錄。

      (虛拟目錄的名稱一般跟項目的名稱一樣,也可以是其他命名).

  • 簡化部署:将項目打成一個war包,再将war包放置到webapps目錄下。
    • 補充:項目壓縮成zip後,把zip字尾名改成war即可。war包會自動解壓縮。

b. 配置conf/server.xml檔案(不推薦)

這個方式,項目可以不放在webapps目錄下。

<Host>

标簽體中配置

<Context docBase="D:\hello" path="/hehe" />

  • 需要重新開機Tomcat.
  • docBase:項目存放的路徑
  • path:虛拟目錄

c. 在conf\Catalina\localhost建立任意名稱的xml檔案。(推薦)

  • 不用重新開機Tomcat.
  • 在檔案中編寫

    <Context docBase="D:\hello" />

  • 虛拟目錄:xml檔案的名稱

2)動态項目目錄結構

  • java動态項目的目錄結構:
    • 項目的根目錄

      – WEB-INF目錄:

      – web.xml:web項目的核心配置檔案

      – classes目錄:放置位元組碼檔案的目錄

      – lib目錄:放置依賴的jar包

3)将Tomcat內建到IDEA中,并且建立JavaEE項目,部署項目

  • 将Tomcat內建到IDEA中

    run->Edit Configuration->Defaults-> Tomcat Server->Local(本地)/Remote(遠端)->Configure->Tomcat Home(安裝目錄)

  • 建立JavaEE的項目

    File->new->Module-> Java Enterprise->JavaEE 7->勾選web Application->-注意版本Versions(JavaEE7對應servlet3.1)>勾上Create web.xml->next。

  • 部署項目(預設已經部署了)

    run->Edit Configuration->Deployment->Application context(虛拟目錄)。

    補充:Application context預設是’/’,浏覽器通路時不需要輸入虛拟目錄。

拓展:了解下熱部署。

在run->Edit Configuration->Deployment面闆中,把兩個選項的值都為Update resources。

  • On ‘Update’ ation: Update resources;
  • On frame deactivation:Update resources;

    這樣,每當建立一個檔案時,項目都會自動重新部署了,不用重新開機Tomcat。