Tomcat5.5基本配置
Tomcat是apache的一個子項目,也是一個開源項目,主要是用于J2EE web容器,由于是一個開源項目,在學習與開發測試中經常被用到(而目前商業最為經常用到的web伺服器是BEA WebLogic)。在開源項目中,鼎鼎大名的apache基金會大家肯定有所了解,網站連結:http://www.apache.org/,而旗下的Jakarta Project 主要包括了Tomcat、Alexanda等Java項目,有興趣者可看:http://jakarta.apache.org/。考慮到各位學習者的機器配置與學習成本問題,這裡選了Tomcat作為我們學習與測試J2EE的環境
以下為一些基本配置:
一、先從網上下載下傳tomcat,目前最新版本是5.57,下載下傳位址是:http://apache.freelamp.com/jakarta/tomcat-5/v5.5.7/bin/jakarta-tomcat-5.5.7.zip,下載下傳安裝完後,在安裝目錄下有以下目錄,主要介紹一下conf、common、webapps:
如果你現在等不急了,就想體驗一下tomcat的魅力的話,把你的網頁拷到webapps/ROOT目錄下,然後再通過浏覽器通路即可,預設如下格式:http://localhost:8080/<你的網頁>
1)webapps檔案夾主要用于web應用程式部署,比如你可以把你的應用程式包,如war檔案拷到該目錄下,容器會自動部署。
2)conf檔案夾下主要是放置tomcat的伺服器的相關配置檔案
3)common檔案夾主要是對容器全局變量的檔案放置地方,如common/lib下就是放置一些需要全文配置的檔案包。
二、j2ee的相關部署規範:
一般來說作為一個符合規範的web程式,會包括以下檔案夾和檔案:/WEB-INF/(主要是放置一些配置檔案與不希望外部程式通路的隐私檔案),在網絡上是不允許通路該檔案夾的,如當你輸入以下http://localhost:8080/WEB-INF/的話就會出現錯誤。
在WEB-INF檔案夾下有一個web.xml檔案,這是對目前應用程式的相關設定,資源尋找等,/WEN-INF/檔案夾下有個classes子檔案夾,該檔案夾是應用程式的根路徑(等于是classpath的路徑),/WEN-INF下還要有個lib檔案夾,主要是放置需要引入的包,應用程式導入的包先從這裡開始尋找,其次到容器的全局路徑下$TOMCAT_HOME/common/lib下尋找。
以下是基本檔案夾:
/tomcat
/common
/lib
/classes
/conf
/webapps
/ROOT
web.xml
/WEB-INF
/lib
/classes
/你部署的程式包
web.xml
/WEB-INF
/lib
/classes
三、容器的配置(server.xml)
到主目錄/conf檔案夾下server.xml檔案是對web伺服器的配置:
以下是一些常見的設定,http端口設定,找到以下:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
把8080端口改為你喜歡使用的端口,如常見的80,以後你就可以利用該端口進行通路你的網站了:http://localhost:80 期中80是預設的,可以不寫,其他的一下配置,可以參觀相關的内容,入門就是這麼簡單。
web.xml為servlet的一些相關配置,可以參照一下規範。可以看我寫的其他文章。
繼續說一下server.xml檔案的設定,
找到以下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
....
</Host>
在他們之間可以添加一個<Context>元素,如:<Context path="/axis" reloadable="true" docBase="axis" workDir="webapps/axis/work"/>,其中屬性path代表是網絡通路的上下文路徑,reloadable表示可以在運作時在classes與lib檔案夾下自動加載類包,docBase屬性表示你的應用程式的路徑,在windows在如:docBase="E:/Sun/axis",workDir表示是緩存檔案的放置地點,可以友善跨平台移植時不用重編譯。這樣,你的應用程式就可以放到硬碟上的任意地方了。還有一個方法可以做到這點(推薦):編寫一個xml檔案,然後放到tomcat目錄/conf/Catalina/<相應的網站>/目錄下,如:現在我有個應用程式ACMEWeb,我編了一個檔案ACMEWeb.xml内容如下:
<Context path="/ACMEWeb" reloadable="true" docBase="E:/eclipseproject/ACMEWeb" workDir="E:/eclipseproject/ACMEWeb/work" />
我把它放到了tomcat目錄/conf/Cataline/localhost下,在浏覽器打開http://localhost/ACMEWeb 就會轉向我放在E:/eclipseproject/ACMEWeb下的程式了
四、關于taglib的修改:
(1)servlet-2.4之後,web.xml檔案就有了一點修改。首先是聲明命名空間:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4"></web-app>
(2)其次是taglib,與傳統的有所改變,對jsp的配置都被放置到<jsp-config>元素裡了。可以使用Altova xmlspy打開web.xml檔案,使用taglib的話,按照以下配置:
<jsp-config>
<taglib>
<taglib-uri>oscache</taglib-uri>
<taglib-location>/WEB-INF/oscache.tld</taglib-location>
</taglib>
</jsp-config>