什麼是Tomcat
Tomcat簡單的說就是一個運行JAVA的網絡服務器,底層是Socket的一個程序,它也是JSP和Serlvet的一個容器。css
爲何咱們須要用到Tomcat
若是你學過html,css,你會知道你寫的頁面只能本身訪問,別人不能遠程訪問你寫的頁面,Tomcat就是提供可以讓別人訪問本身寫的頁面的一個程序html
配置Tomcat
運行Tomcat須要JDK的支持【Tomcat會經過JAVA_HOME找到所須要的JDK】。web
- 新建JAVA_HOME環境變量【路徑是JDK的主目錄】
- 進入Tomcat目錄下的bin中啓動startup.bat,如下是成功啓動Tomcat的頁面。
注意:若是在使用Tomcat時出現了Error deploying web application directory web222
,很大緣由就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,因此要下降jdk版本【換成JDK7】瀏覽器
固然也有可能不是一路順風可以直接啓動Tomcat,不能正常啓動Tomcat會有如下狀況tomcat
- JAVA_HOME配置錯誤
-
端口被佔用了服務器
- 第一種方法:在cmd輸入netstat -anb查看誰佔用了該端口【Tomcat默認的是8080】,在進程中關閉它
- 第二種方法:主動改變tomcat的端口, 到tomcat主目錄下的conf/server.xml文件中修改,把8080端口改爲是8088或者是其餘的‘
相關術語介紹
tomcat結構目錄
目錄的簡單介紹
- bin:啓動和關閉tomcat的bat文件
-
conf:配置文件微信
-
server.xml
該文件用於配置server相關的信息,好比tomcat啓動的端口號,配置主機(Host)
-
web.xml
文件配置與web應用(web應用至關於一個web站點)
-
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文件app
web站點的目錄是有規範的
webapp
爲何要這樣設置web站點目錄呢?
- 需求:我有多個html文件,想把其中的一個html文件做爲我web站點的首頁。
- 若是沒有WEB-INF目錄下的web.xml文件支持,是沒法解決個人需求的
- 這個規範是約定熟成的。
下面將web站點下的helloword2.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中的<Host>節點下添加以下代碼。path表示的是訪問時輸入的web項目名,docBase表示的是站點目錄的絕對路徑
<Context path="/web1" docBase="D:\web1"/>
配置虛擬目錄方法二:
- 進入到confCatalinalocalhost文件下,建立一個xml文件,該文件的名字就是站點的名字。
- xml文件的代碼以下,docBase是你web站點的絕對路徑
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:\web1"
reloadable="true">
</Context>
配置臨時域名
訪問Tomcat服務器有好幾種方式
- 使用localhost域名訪問【localhost表明本機】
- 使用ip地址127.0.0.1訪問【該ip地址也是本機】
- 使用機器名稱訪問【只限用於本機上或者局域網】
- 使用本機IP地址訪問【在cmd中輸入ipconfig能夠查詢到本機IP地址】
- 還能夠爲機器配置臨時域名
配置臨時域名步驟
- 打開到C:WindowsSystem32driversetc下,找到hosts文件
設置虛擬主機
什麼是虛擬主機?
多個不一樣域名的網站共存於一個Tomcat中
爲何須要用到虛擬主機?
例子:我如今開發了4個網站,有4個域名。若是我不配置虛擬主機,一個Tomcat服務器運行一個網站,我就須要4臺電腦才能把4個網站運行起來。
配置虛擬主機的步驟
- 在tomcat的server.xml文件中添加主機名
<Host name="zhongfucheng" appBase="D:\web1">
<Context path="/web1" docBase="D:\web1"/>
</Host>
Tomcat體系結構
瀏覽器訪問WEB資源的流程圖
練習
在瀏覽器輸入http//:zhongfucheng直接顯示到頁面
分析:
- 須要配置虛擬主機
- 把8080端口改爲80
- 設置web站點首頁
- 映射虛擬目錄爲/
若是文章有錯的地方歡迎指正,你們互相交流。習慣在微信看技術文章的同窗,能夠關注微信公衆號:Java3y