天天看點

Tomcat就是這麼簡單

什麼是Tomcat

Tomcat簡單的說就是一個運作JAVA的網絡伺服器,底層是Socket的一個程式,它也是JSP和Serlvet的一個容器。

為什麼我們需要用到Tomcat

如果你學過html,css,你會知道你寫的頁面隻能自己通路,别人不能遠端通路你寫的頁面,Tomcat就是提供能夠讓别人通路自己寫的頁面的一個程式

配置Tomcat

運作Tomcat需要JDK的支援【Tomcat會通過JAVA_HOME找到所需要的JDK】。

  • 建立JAVA_HOME環境變量【路徑是JDK的主目錄】
  • 進入Tomcat目錄下的bin中啟動startup.bat,以下是成功啟動Tomcat的頁面。
  • 在浏覽器位址欄輸入http://localhost:8080,如果能夠出現Tomcat頁面,說明配置成功了!

注意:如果在使用Tomcat時出現了

Error deploying web application directory web222

,很大原因就是jdk和tomcat的版本不比對。目前,jdk8不能比對tomcat7.0,是以要降低jdk版本【換成JDK7】

當然也有可能不是一帆風順能夠直接啟動Tomcat,不能正常啟動Tomcat會有以下情況

  1. JAVA_HOME配置錯誤
  2. 端口被占用了
    • 第一種方法:在cmd輸入netstat -anb檢視誰占用了該端口【Tomcat預設的是8080】,在程序中關閉它
    • 第二種方法:主動改變tomcat的端口, 到tomcat主目錄下的conf/server.xml檔案中修改,把8080端口改成是8088或者是其他的‘

相關術語介紹

tomcat結構目錄

目錄的簡單介紹

  1. bin:啟動和關閉tomcat的bat檔案
  2. conf:配置檔案
    • server.xml

      該檔案用于配置server相關的資訊,比如tomcat啟動的端口号,配置主機(Host)
    • web.xml

      檔案配置與web應用(web應用相當于一個web站點)
    • tomcat-user.xml

      配置使用者名密碼和相關權限.
  3. lib:該目錄放置運作tomcat運作需要的jar包
  4. logs:存放日志,當我們需要檢視日志的時候,可以查詢資訊
  5. webapps:放置我們的web應用
  6. work工作目錄:該目錄用于存放jsp被通路後生成對應的server檔案和.class檔案

webapps目錄的詳細說明

在webapps中建立了web1目錄,下面放置我們的html檔案,jsp檔案,圖檔等等,則web1就被當做web應用管理起來【tomcat6.0以後的版本才支援】

例子:在webapps下建立一個web站點,在web站點下建立一個html檔案,通路html檔案

web站點的目錄是有規範的

為什麼要這樣設定web站點目錄呢?

  • 需求:我有多個html檔案,想把其中的一個html檔案作為我web站點的首頁。
  • 如果沒有WEB-INF目錄下的web.xml檔案支援,是無法解決我的需求的
  • 這個規範是約定熟成的。

下面将web站點下的helloword2.xml檔案作為站點的首頁

  • 建立一個WEB-INF目錄
  • 在WEB-INF目錄下建立一個web.xml
  • web.xml我們不可能會寫,是以可以在webapps目錄下其他的站點中抄一份過來【複制ROOT/WEB-INF/web.xml的檔案到自己的站點中】
  • 在web.xml中添加以下代碼
<welcome-file-list>
	        <welcome-file>helloword2.html</welcome-file>
	  </welcome-file-list>

           
  • 通路web站點【helloword2.html已經是web站點的首頁了,是以不需要指定資源通路了】

配置虛拟目錄

為什麼需要配置虛拟目錄?

  • 如果把所有web站點的目錄都放在webapps下,可能導緻磁盤空間不夠用,也不利于對web站點目錄的管理【如果存在非常多的web站點目錄】
  • 把web站點的目錄分散到其他磁盤管理就需要配置虛拟目錄【預設情況下,隻有webapps下的目錄才能被Tomcat自動管理成一個web站點】
  • 把web應用所在目錄交給web伺服器管理,這個過程稱之為虛拟目錄的映射

配置虛拟目錄方法一:

  • 在其他盤符下建立一個web站點目錄,并建立WEB-INF目錄和一個html檔案。
  • 找到Tomcat目錄下/conf/server.xml檔案
  • 在server.xml中的節點下添加如下代碼。path表示的是通路時輸入的web項目名,docBase表示的是站點目錄的絕對路徑
<Context path="/web1" docBase="D:\web1"/>
           
  • 通路配置好的web站點

配置虛拟目錄方法二:

  • 進入到conf\Catalina\localhost檔案下,建立一個xml檔案,該檔案的名字就是站點的名字。
  • xml檔案的代碼如下,docBase是你web站點的絕對路徑
<?xml version="1.0" encoding="UTF-8"?> 
<Context 
    docBase="D:\web1" 
    reloadable="true"> 
</Context> 
           
  • 通路web站點下的html資源

配置臨時域名

通路Tomcat伺服器有好幾種方式

  • 使用localhost域名通路【localhost代表本機】
  • 使用ip位址127.0.0.1通路【該ip位址也是本機】
  • 使用機器名稱通路【隻限用于本機上或者區域網路】
  • 使用本機IP位址通路【在cmd中輸入ipconfig可以查詢到本機IP位址】
  • 還可以為機器配置臨時域名

配置臨時域名步驟

  • 打開到C:\Windows\System32\drivers\etc下,找到hosts檔案
  • 在hosts檔案下配置臨時域名

設定虛拟主機

什麼是虛拟主機?

多個不同域名的網站共存于一個Tomcat中

為什麼需要用到虛拟主機?

例子:我現在開發了4個網站,有4個域名。如果我不配置虛拟主機,一個Tomcat伺服器運作一個網站,我就需要4台電腦才能把4個網站運作起來。

配置虛拟主機的步驟

  • 在tomcat的server.xml檔案中添加主機名
<Host name="zhongfucheng" appBase="D:\web1">
					<Context path="/web1" docBase="D:\web1"/>
	  </Host>

           
  • 通路虛拟主機下的web站點

Tomcat體系結構

浏覽器通路WEB資源的流程圖

練習

在浏覽器輸入http//:zhongfucheng直接顯示到頁面

分析:

  1. 需要配置虛拟主機
  2. 把8080端口改成80
  3. 設定web站點首頁
  4. 映射虛拟目錄為/
如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章的同學,可以關注微信公衆号:Java3y

更多的文章可往:文章的目錄導航