什麼是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會有以下情況
- JAVA_HOME配置錯誤
- 端口被占用了
- 第一種方法:在cmd輸入netstat -anb檢視誰占用了該端口【Tomcat預設的是8080】,在程序中關閉它
- 第二種方法:主動改變tomcat的端口, 到tomcat主目錄下的conf/server.xml檔案中修改,把8080端口改成是8088或者是其他的‘
相關術語介紹
tomcat結構目錄
目錄的簡單介紹
- bin:啟動和關閉tomcat的bat檔案
- conf:配置檔案
-
該檔案用于配置server相關的資訊,比如tomcat啟動的端口号,配置主機(Host)server.xml
-
檔案配置與web應用(web應用相當于一個web站點)web.xml
-
配置使用者名密碼和相關權限.tomcat-user.xml
-
- lib:該目錄放置運作tomcat運作需要的jar包
- logs:存放日志,當我們需要檢視日志的時候,可以查詢資訊
- webapps:放置我們的web應用
- 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直接顯示到頁面
分析:
- 需要配置虛拟主機
- 把8080端口改成80
- 設定web站點首頁
- 映射虛拟目錄為/
如果文章有錯的地方歡迎指正,大家互相交流。習慣在微信看技術文章的同學,可以關注微信公衆号:Java3y
更多的文章可往:文章的目錄導航