熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Tomcat4.01全攻略

2013-11-13 12:47:17  來源: Oracle 

  一簡介
  tomcat是jakarta項目中的一個重要的子項目其被JavaWorld雜志的編輯選為年度最具創新的java產品(Most Innovative Java Product)同時它又是sun公司官方推薦的servlet和jsp容器(具體可以見)因此其越來越多的受到軟件公司和開發人員的喜愛servlet和jsp的最新規范都可以在tomcat的新版本中得到實現
  二安裝及配置
  tomcat最新版本為這個版本用了一個新的servlet容器Catalina完整的實現了servlet和jsp規范注意安裝之前你的系統必須安裝了jdk以上版本
  (一)安裝
  windows平台
  從tomcat網站下載jakartatomcatexe按照一般的windows程序安裝步驟即可安裝好tomcat安裝時它會自動尋找你的jdk和jre的位置
  linux平台
  下載jakartatomcattargz將其解壓到一個目錄
  (二)配置
  運行tomcat需要設置JAVA_HOME變量
  set JAVA_HOME=c:/jdk (win在msdos方式下使用或者放入autoexecbat中)
  export JAVA_HOME=/usr/local/jdk (linux下使用放到/etc/bashrc或者/etc/profile中)
  (三)運行
  設置完畢後就可以運行tomcat服務器了進入tomcat的bin目錄win下用startup啟動tomcatlinux下用startupsh相應的關閉tomcat的命令為shutdown和shutdownsh
  啟動後可以在浏覽器中輸//localhost:/測試由於tom穑旅婊峤樯堋?/a>
  下面你可以測試其自帶的jsp和servlet示例
  三應用
  (一):目錄結構
  tomcat的目錄結構如下
  目錄名: 簡介
  bin : 存放啟動和關閉tomcat腳本
  conf : 包含不同的配置文件serverxml(Tomcat的主要配置文件)和webxml
  work : 存放jsp編譯後產生的class文件
  webapp: 存放應用程序示例以後你要部署的應用程序也要放到此目錄
  logs : 存放日志文件
  lib/japser/common : 這三個目錄主要存放tomcat所需的jar文件
  (二)serverxml配置簡介
  下面我們將講述這個文件中的基本配置信息更具體的配置信息見tomcat的文檔
  server:
  port 指定一個端口這個端口負責監聽關閉tomcat的請求
  shutdown 指定向端口發送的命令字符串
  service:
  name 指定service的名字
  Connector (表示客戶端和service之間的連接):
  port 指定服務器端要創建的端口號並在這個斷口監聽來自客戶端的請求
  minProcessors 服務器啟動時創建的處理請求的線程數
  maxProcessors 最大可以創建的處理請求的線程數
  enableLookups 如果為true則可以通過調用requestgetRemoteHost()進行DNS查詢來得到遠程客戶端的實際主機名若為false則不進行DNS查詢而是返回其ip地址
  redirectPort 指定服務器正在處理http請求時收到了一個SSL傳輸請求後重定向的端口號
  acceptCount 指定當所有可以使用的處理請求的線程數都被使用時可以放到處理隊列中的請求數超過這個數的請求將不予處理
  connectionTimeout 指定超時的時間數(以毫秒為單位)
  Engine (表示指定service中的請求處理機接收和處理來自Connector的請求):
  defaultHost 指定缺省的處理請求的主機名它至少與其中的一個host元素的name屬性值是一樣的
  Context (表示一個web應用程序通常為WAR文件關於WAR的具體信息見servlet規范):
  docBase 應用程序的路徑或者是WAR文件存放的路徑
  path 表示此web應用程序的url的前綴這樣請求的//localhost:/path/****
  reloadable 這個屬性非常重要如果為true則tomcat會自動檢測應用程序的/WEBINF/lib 和/WEBINF/classes目錄的變化自動裝載新的應用程序我們可以在不重起tomcat的情況下改變應用程序
  host (表示一個虛擬主機):
  name 指定主機名
  appBase 應用程序基本目錄即存放應用程序的目錄
  unpackWARs 如果為true則tomcat會自動將WAR文件解壓否則不解壓直接從WAR文件中運行應用程序
  Logger (表示日志調試和錯誤信息):
  className 指定logger使用的類名此類必須實現orgapachecatalinaLogger 接口
  prefix 指定log文件的前綴
  suffix 指定log文件的後綴
  timestamp 如果為true則log文件名中要加入時間如下例:localhost_logtxt
  Realm (表示存放用戶名密碼及role的數據庫):
  className 指定Realm使用的類名此類必須實現orgapachecatalinaRealm接口
  Valve (功能與Logger差不多其prefix和suffix屬性解釋和Logger 中的一樣):
  className 指定Valve使用的類名如用orgapachecatalinavalvesAccessLogValve類可以記錄應用程序的訪問信息
  directory 指定log文件存放的位置
  pattern 有兩個值common方式記錄遠程主機名或ip地址用戶名日期第一行請求的字符串HTTP響應代碼發送的字節數combined方式比common方式記錄的值更多
  注意
  經過我測試我設置Context 的path=reloadable=true然後放一個WAR文件到webapps目錄結果tomcat不能檢測出此文件(重起tomcat可以)而把此文件解壓則tomcat會自動檢測出這個新的應用程序如果不能自動檢測WAR文件我們可以利用下面管理中講的方法來部署應用程序
  默認的serverxml中Realm元素只設置了一個className屬性但此文件中也包含幾個通過JDBC連接到數據庫進行驗證的示例(被注釋掉了)通過Realm元素我們可以實現容器安全管理(Container Managed Security)
  還有一些元素我們沒有介紹如Parameterloader你可以通過tomcat的文檔獲取這些元素的信息
  (三)管理
  配置
  在進行具體的管理之前我們先給tomcat添加一個用戶使這個用戶有權限來進行管理
  打開conf目錄下的tomcatusersxml文件在相應的位置添加下面一行
  注意這一行的最後部分一定是/>tomcat的文檔掉了/符號如果沒有/符號的話tomcat重起時將無法訪問應用程序通過logs/catalinaout文件你可以看到這個錯誤的詳細信息
  然後重起tomcat在浏覽器中輸//localhost:/manager/會?兔苈爰純傘?/a>
  應用程序列表
  在浏覽器中輸入允救缦碌男畔ⅲ?/a>
  OK Listed applications for virtual host localhost
  /ex:running:
  /examples:running:
  /webdav:running:
  /tomcatdocs:running:
  /manager:running:
  /:running:
  上面的信息分別為應用程序的路徑當前狀態(running 或者stopped)與這個程序相連的session數
  重新裝載應用程序
  在浏覽器中輸入 榔飨允救缦攏?/a>
  OK Reloaded application at context path /examples
  表示example應用程序裝載成功如果我們將serverxml的Context元素的reloadable屬性設為true(見上面表格)則沒必要利用這種方式重新裝載應用程序因為tomcat會自動裝載
  顯示session信息
  在浏覽器中輸入榔飨允救缦攏?/a>
  OK Session information for application at context path /examples Default maximum session inactive interval minutes
  啟動和關閉應用程序
  在浏覽器中輸入應用程序
  部署及撤銷部署
  WAR有兩種組織方式一種是按一定的目錄結構組織文件一種是一個後綴為WAR的壓縮包因此它的部署方式也有兩種
  ()在浏覽器中輸入
  就會將按目錄結構組織的WAR部署
  ()如果輸入:!/
  就會將按壓縮包組織的WAR部署注意此url後半部分一定要有!/號
  部署後就可以用//localhost:/examples訪問了
  在浏覽器中輸入//localhost:/manager/remove?path=/examples 就會撤銷剛才部署的應用程序
  (四)與apache集成
  雖然tomcat也可以作web服務器但其處理靜態html的速度比不上apache且其作為web服務器的功能遠不如apache因此我們想把apache和tomcat集成起來
  我們以linux系統為例介紹
  從apache網站下載apache源代碼版本然後使用如下命令配置安裝apache
  mkdir /usr/local/apache
  tar zxvf apachetargz
  cd apache
  /configure prefix=/usr/local/apache enablemodule=so
  make
  make install
  注意configure命令指定目標安裝目錄並且加入DSO(Dynamic Shared Object)支持注意一定不要忘了這一個選項
  然後下載webapp模塊將解壓後mod_webappso文件放入apache的libexec目錄編輯apache的conf目錄下的在這個文件的最後加入下面三行
  LoadModule webapp_module libexec/mod_webappso
  WebAppConnection warpConnection warp localhost:
  WebAppDeploy examples warpConnection /examples/
  第一行是加入webapp模塊如果編譯apache時不增加DSO支持則無法使用LoadModule指令第二行指定tomcat與apache的連接第三行指定部署那個應用這兩個指令使用格式如下
  WebAppConnection [connection
From:http://tw.wingwit.com/Article/program/Oracle/201311/16586.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.