分類  >  Web前端 >

tomcat伺服器裝配、配置及使用

tags:    時間:2013-12-10 10:57:24
tomcat伺服器安裝、配置及使用.
   Tomcat 是一個免費的開放源代碼的 Servlet 容器,它是 Apache 軟體基金會的一個頂級項目,
Apache,Sun和其他一些公司及個人共同開發而成。由於有了 Sun 的參與與支持,最新的 Servlet 和 JSP 規
總是能在 Tomcat 中的到體現, Tomcat 6 支持最新的 Servlet 2.5 和JSP 2.1 規範。
lTomcat用java語言開發,Tomcat是一個符合J2EE標準的WEB伺服器,但J2EE中的EJB程序無法此處運行。

準備工作:
安裝JDK
tomcat需要JDK的支持,但Tomcat本身並不自帶JDK,所以需要JDK的支持
Tomcat啟動配置
     *    配置JDK的JAVA_HOME=jdk的安裝路徑
     *    配置CATALINA_HOME=tomcat的安裝路徑
例如
           JAVA_HOME=C:\Program Files\Java\jdk1.5.0_05
           CATALINA_HOME=D:\tomcat-6.0.18

1、tomcat安裝:
綠色版:直接解壓apache-tomcat-6.0.35-windows-x86.zip(32位),需要註冊服務,方法見下文.
安裝版:直接解壓,不需要註冊服務.
ütar.gz文件是Linux操作系統下的安裝版本
üexe文件是Windows系統下的安裝版本
üzip文件是Windows系統下的壓縮版本

2、tomcat註冊服務:
命令行:進入目錄\apache-tomcat-6.0.35\bin\
執行命令:service.bat install 註冊服務
  service.bat remove 刪除服務

3、tomcat啟動:
點擊:apache-tomcat-6.0.35\bin\startup.bat

4、tomcat停止:
       直接關閉控制台
       點擊:apache-tomcat-6.0.35\bin\shutdown.bat
       關閉和tomcat相關java.exe進程(使用命令netstat查看當前個應用程序的埠對應的進程ID)

5、tomcat啟動錯誤:
Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this program
沒有配置JAVA_HOME或JRE_HOME環境變數

java.net.BindException: Address already in use: JVM_Bind
tomcat的埠已經被佔用了,檢查tomcat是否已經啟動過了,或者看該埠被那個程序佔用。

6、tomcat訪問:
    http://127.0.0.1:8080/
    http://192.168.1.2:8080/
    http://localhost:8080/
    http://計算機的名字:8080/

7、tomcat埠配置:conf下邊的Server.html文件.
tomcat默認的埠是8080.
可以通過apache-tomcat-6.0.35\conf\server.xml:
   <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

8、tomcat通過頁面管理:

     添加管理用戶:
     apache-tomcat-6.0.35\conf\tomcat-users.xml
     <role rolename="manager-gui"/>
     <user username="tomcat" password="tomcat" roles="manager-gui"/>

9、tomcat webapps目錄中存放我們的web項目:
每一個文件夾都是一個獨立的web項目
每一個文件夾的根就是這個web項目的"根"
每一個文件夾名字就是web應用程序的名字。
ROOT是我們web應用程序,默認訪問項目,及訪問時不需要輸入項目名字.(http://localhost)

10、javaweb項目程序結構:
root
│  index.html

└─WEB-INF
    │  web.xml
    ├─classes
    └─lib

(1)Web 程序結構說明:
WEB-INF目錄下的classes和lib目錄都可以存放Java的類文件,在Servlet容器運行時,Web應用程序的類載入器將首先載入classes目錄下的,其次才是lib目錄下的類。如果這兩個目錄下存在同名的類,起作用的將是classes目錄下的類

(2)WEB-INF 是一個特殊的目錄(所有字母都要大寫)。這個目錄並「不屬於Web應用程序可以訪問的上下文路徑的一部分」 ,對客戶端來說,這個目錄是不可見的。但該目錄下的內容對於Servlet代碼是可見的 

(3)設置WEB站點的根目錄:
   1>.<Host>元素的appBase屬性所設置的應用程序基準目錄中的ROOT子目錄(我們自己的應用)
   2>.server.xml:
       <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
       <!--
  path 不寫就是默認的web應用,等同於ROOT
          docBase web應用的"根"
  path配置時,前邊必須有"/"
-->
       <Context path="" docBase="F:\mywebapp"/>
   </Host>

Context標籤的屬性介紹:
docBase:
   docBase是實際路徑,這裡一般寫一個絕對的磁碟路徑,當然也可以寫相對路徑,相對路徑是相對於tomcat安裝目錄的webapps目錄的,通常設置虛擬目錄的目的是將tomcat的安裝和項目的保存分開,所以這裡建議你使用磁碟絕對路徑,並且這個磁碟路徑不要在tomcat安裝目錄下,.該屬性是必須的

path:
   web應用的context路徑 ,是個虛擬路徑,訪問路徑時,注意:一定要加「/」。 catalina將每個URL的起始和context path進行比較,選擇合適的時web應用處理該請求。特定Host下contextpath必須是惟一的。如果context path為空字元串(「」),這個context是所屬Host的預設web應用,用來處理不能匹配任何context path的請求,.

debug:
   debug 記錄調試信息的詳細程度。數字越大,輸出越詳細。如果沒有指定,預設為0。
也就是程序異常時寫入日誌文件里的詳細程度(0---6)

reloadable:
    如果希望Catalina監視/WEB-INF/classes/和/WEB-INF/lib下面的類是否發生變化,在發生
變化的時候自動重載web application,設為true。這個特徵在開發階段很有用,但也大大增
加了伺服器的開銷。因此,在發布以後,不推薦使用.該屬性的默認值是false

   3>.conf目錄下依次創建catalina\localhost目錄,在這個目錄中創建xml文件,格式如:
<Context docBase="myappPath">
    如果想我們的項目是默認項目,xml的名字為ROOT.XML


(4)部署描述符與目錄的默認網頁:

部署描述符文件
  我們可以配置項目的默認頁面: 
    <WEB應用程序>/WEB-INF/web.xml下邊的<welcome-file-list>節點,按照順序依次查找頁面.
    <Tomcat主目錄>/conf/web.xml 
如果沒有配置,使用 <Tomcat主目錄>/conf/web.xml ,<welcome-file-list>.....</welcome-file-list>


  

推薦閱讀文章

Bookmark the permalink ,來源:互聯網