什麼是Tomcat Tomcat簡單的說就是一個運行JAVA的網路伺服器,底層是Socket的一個程式,它也是JSP和Serlvet的一個容器。 為什麼我們需要用到Tomcat 如果你學過html,css,你會知道你寫的頁面只能自己訪問, 別人不能遠程訪問你寫的頁面 ,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會有以下情況
- 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文件
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中的
<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