啥叫Tomcat?有道詞典是這麼說的。
這個我們姑且不管,實際上呢,Tomcat是一種Web服務器,我們自己做好了一個Web項目,就可以通過Tomcat來發布。服務器呢,又分為硬件服務器和軟件服務器。硬件服務器一般來說就是一臺電腦,而軟件服務器則是一個應用程序,比如Tomcat它本身就是一個程序。
讓我們來看一下Tomcat的目錄結構:
Bin目錄裡面都是一些腳本文件:
我們需要關注的就是startup.bat這個文件,當我們雙擊這個文件,就可以啟動Tomcat服務器。接下來,我們順便來說一說配置環境變量的問題,我們知道,在安裝JDK的時候就需要配置環境變量。簡單來說,配置環境變量的目的就是讓用戶可以在任何目錄都能訪問到某一個文件夾的文件。比如,我們打開cmd命令窗口:
輸入cmd,點確定。
我們希望通過這個命令來打開startup.bat,然而並沒有什麼卵用!
因為路徑不對,是吧。好,那麼現在我們調整到Tomcat的bin目錄:
運行
這樣就好了,恭喜你,Tomcat服務器已經成功啟動了!
大家是不是很好奇,有沒有一種不需要跳轉到指定目錄就可以運行startup.bat的方法呢?這就需要我們配置環境變量了。
右鍵我的電腦,屬性。
在path後面添加 ;%TOMCAT_HOME%\bin ,確定。
重新再cmd命令窗口執行startup.bat命令:
出現這個錯誤,它說環境變量名字不對,應該叫CATALINA_HOME,OK,那我們就改成這個環境變量,然後就好了。
現在,我們在conf目錄中我們打開server.xml,可以查看Tomcat的端口號。
這個8080就是端口號,我們用http://localhost:8080 , 可以訪問到Tomcat的首頁。
1、tomcat服務器映射方式一
tomcat服務器會自動管理webapps目錄下的所有web應用,並把它映射成虛似目錄。
現在我們來手工搭建一個web項目,首先,在webapps目錄下新建一個文件夾,是的,就是文件夾,不管你項目是什麼,肯定還是放在文件夾裡面的。
項目名稱就叫做myapp。
打開myapp,根據web項目的規範,我們需要有一個WEB-INF文件夾。
然後,在WEB-INF文件夾裡面,必須要有一個web.xml文件。
Web.xml內容如下:
<web-app> xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.html/<welcome-file>
/<welcome-file-list>
/<web-app>
這句話表示這個文件是xml文件。
<web-app> xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
/<web-app>
web.xml的模式文件是由Sun公司定義的,每個web.xml文件的根元素<web-app>中,都必須標明這個 web.xml使用的是哪個模式文件。其它的元素都放在<web-app>之中。/<web-app>
<welcome-file-list>
<welcome-file>index.jsp/<welcome-file>
/<welcome-file-list>
這個是設置歡迎頁,因為我們現在還沒有歡迎頁,所以要寫一個。
pageEncoding="UTF-8"%>
<title>Insert title here/<title>
這是我的APP
然後訪問http://localhost:8080/myapp/ 的時候,就會默認找到index.jsp文件。如果出現中文亂碼,從以下幾個方面考慮:
1、 文件本身的編碼格式是不是UTF-8,不是的話就用一個文本工具另存為一下。
2、 Server.xml中有沒有指定編碼格式為UTF-8 。
<connector> enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8' />
/<connector>
3、 JSP頁面有沒有設置編碼為UTF-8 。
2、Tomcat服務器虛擬目錄的映射方式二
在server.xml配置文件的添加配置。
<host> unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<context>
/<host>
其中,Context表示上下文,代表的就是一個JavaWeb應用,Context元素有兩個屬性,
Ⅰ.path:用來配置虛似目錄,必須以"/"開頭。
Ⅱ.docBase:配置此虛似目錄對應著硬盤上的Web應用所在目錄。
如果我們不想要把web項目丟到webapp目錄,那又該怎麼辦呢?沒錯,我們就採用第二種方式。
我現在把myapp項目放到D盤根目錄,為了防止你們說我使詐,我不但把訪問地址改了,還把webapp目錄下的myapp項目刪掉了。
我們一般都推薦第二種方式。
閱讀更多 程序猿的內心獨白 的文章