Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發而成。由於有了Sun的參與和支援,最新的Servlet和Jsp規範總能在Tomcat中得到體現。
Tomcat是穩固的獨立的Web伺服器與Servlet Container,不過,其Web伺服器的功能則不如許多更健全的Web伺服器完整,如Apache Web伺服器(舉例來說,Tomcat沒有大量的選擇性模組)。不過,Tomcat是自由的開源軟體,而且有許多高手致力於其發展。
在安裝Tomcat之前需要安裝j2sdk(Java 2 Software Development Kit),也就是JDK
◆1、安裝JDK的步驟如下:
1)下載j2sdk ,如jdk-6u1-linux-i586-rpm.bin
2)在終端中轉到jdk-6u1-linux-i586-rpm.bin所在的目錄,輸入命令
#chmod +755 jdk-6u1-linux-i586-rpm.bin;//添加執行的許可權。
3)執行命令
#./jdk-6u1-linux-i586-rpm.bin;//產生jdk-6u1-linux-i586.rpm的檔案。
4)執行命令
#chmod +755 jdk-6u1-linux-i586.rpm;//給jdk-6u1-linux-i586.rpm添加執行的許可權。
5)執行命令
#rpm –ivh jdk-6u1-linux-i586.rpm ; //安裝jdk。
6)安裝介面會出現授權協議,按Enter鍵接受,把jdk安裝在/usr/java/jdk1.6.0_01。
7)設定環境變數,在 /etc/profile中加入如下內容(可以使用vi進行編輯profile):
JAVA_HOME=/usr/java/jdk1.6.0_01
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
8)在終端執行命令java –version,jdk的版本為jdk1.6.0_01則表示jdk已成功安裝。
◆2、安裝Tomcat
1)下載apache-tomcat-6.0.10.tar.gz
2)#tar -zxvf apache-tomcat-6.0.10.tar.gz ;//解壓
3)#cp -R apache-tomcat-6.0.10 /usr/local/tomcat ;//拷貝apache-tomcat-6.0.10到/usr/local/下並重新命名為tomcat
4) /usr/local/tomcat/bin/startup.sh; //啟動tomcat
顯示 Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TEMDIR: /usr/local/tomcat/temp
Using JAVA_HOME: /usr/java/jdk1.6.0_01
到此tomcat已經安裝完成,現在使用瀏覽器訪問 http://localhost:8080,出現tomcat預設頁面,說明已經安裝成功。
一、靜態部署
1 、直接將Web 專案檔案件拷貝到webapps 目錄中
Tomcat 的Webapps 目錄是Tomcat 預設的應用目錄,當伺服器啟動時,會載入所有這個目錄下的應用。所以可以將JSP 程式打包成一個war 包放在目錄下,伺服器會自動解開這個war 包,並在這個目錄下產生一個同名的檔案夾。一個war 包就是有特性格式的jar 包,它是將一個web 程式的所有內容進行壓縮得到。具體如何打包,可以使用許多開發工具的IDE 環境,如Eclipse 等。也可以用cmd 命令:jar -cvf mywar.war myweb
webapps 這個預設的應用目錄也是可以改變。開啟Tomcat 的conf 目錄下的server.xml 檔案,找到下面內容:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
將appBase 修改即可。
2 、在server.xml 中指定
在Tomcat 的設定檔中,一個Web 應用程式就是一個特定的Context ,可以通過在server.xml 中建立Context 裡部署一個JSP 應用程式。開啟server.xml 檔案,在Host 標籤內建一個Context ,內容如下。
在tomcat 中的conf 目錄中,在server.xml 中的,<host/> 節點中添加:
<Context path ="/hello" docBase ="D:/ workspace/hello/WebRoot" debug ="0" privileged ="true">
</Context>
或者
<Context path ="/myapp" reloadable ="true" docBase ="D:/myapp" workDir ="D:/myapp/work"/>
或者
<Context path ="/sms4" docBase ="D:/workspace/sms4/WebRoot"/>
說明:
path 是虛擬路徑;
docBase 是應用程式的實體路徑;
workDir 是這個應用的工作目錄,存放運行時產生的與這個應用相關的檔案;
debug 則是設定debug level, 0 表示提供最少的資訊,9 表示提供最多的資訊;
privileged 設定為true 的時候,才允許Tomcat 的Web 應用程式使用容器內的Servlet;
reloadable 如果為true ,則tomcat 會自動檢測應用程式的/WEB-INF/lib 和/WEB-INF/classes 目錄的變化,自動裝載新的應用程式,可以在不重起tomcat 的情況下改變應用程式,實現熱部署;
antiResourceLocking 和antiJARLocking 熱部署是需要配置的參數,預設false 避免 更新了某個webapp ,有時候Tomcat 並不能把舊的webapp 完全刪除,通常會留下WEB-INF/lib 下的某個jar 包,必須關閉Tomcat 才能刪除,這就導致自動部署失敗。設定為true ,Tomcat 在運行對應的webapp 時,會把相應的源檔案和jar 檔案複製到一個臨時目錄裡。
3 、建立一個Context 檔案
在conf 目錄中,建立Catalina \localhost 目錄,在該目錄中建立一個xml 檔案,名字不可以隨意取,要和path 後的那個名字一致,按照下邊這個path 的配置,xml 的名字應該就應該是hello (hello.xml ),該xml 檔案的內容為:
<Context path="/hello" docBase="E:/workspace/hello/WebRoot" debug="0" privileged="true"></Context>
tomcat 內建例子如下:
<Context docBase="${catalina.home}/server/webapps/host-manager"
privileged="true" antiResourceLocking="false" antiJARLocking="false">
</Context>
這個例子是tomcat 內建的,編輯的內容實際上和第二種方式是一樣的,其中這xml 檔案名稱字就是訪問路徑,這樣可以隱藏應用的真實名字。
4 、注意:
刪除一個Web 應用程式同時也要刪除webapps 下相應的檔案夾和server.xml 中相應的Context ,還要將Tomcat 的conf/catalina/localhost 目錄下相應的xml 檔案刪除,否則Tomcat 仍會去配置並載入。。。
二 動態部署
登陸tomcat 管理主控台:http://localhost:8080,輸入使用者名稱和密碼後便可管理應用並動態發布。
在Context Path(option): 中輸入/yourwebname ,這代表你的應用的訪問地址。
XML Configration file URL 中要指定一個xml 檔案,比如我們在F:/ 下建立一個hmcx.xml 檔案,內容如下:<Context reloadable="false" /> 其中docBase 不用寫了,因為在下一個文字框中填入。或者更簡單點,這個文字框什麼都不填,在WAR or Directory URL: 中鍵入F:/hmcx 即可,然後點擊Deploy 按鈕,上面就可以看到了web 應用程式,名字就Context Path(option): 中的名字。
如果部署.war 檔案還有更加簡單的方式,下面還有個Select WAR file uploae 點擊瀏覽選擇.war 檔案,然後點擊Deploy 也可以。