<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 44,  comments - 48,  trackbacks - 0

    一、Tomcat背景
      自從JSP發布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNUJSP1.0的開發以后,開始考慮在SUN的JSWDK基礎上開發一個可以直接提供Web服務的JSP服務器,當然同時也支持Servlet, 這樣Tomcat就誕生了。
    Tomcat是jakarta項目中的一個重要的子項目,其被JavaWorld雜志的編輯選為2001年度最具創新的java產品,同時它又是sun公司官方推薦的servlet和jsp容器,因此其越來 越多的受到軟件公司和開發人員的喜愛。servlet和jsp的最新規范都可以在tomcat的新版本中得到實現。其次, Tomcat是完全免費的軟件,任何人都可以從互聯網上自由地下載。Tomcat與Apache的組合相當完美。

    ?

    二、 Tomcat 目錄

    tomcat
    |---bin Tomcat:
    存放啟動和關閉tomcat腳本 ;

    |---conf Tomcat:存放 不同的配置文件(server.xml和web.xml);
    |---doc:存放Tomcat文檔;
    |---lib
    /japser/common :存放 Tomcat運行需要的庫文件(JARS);
    |---logs:存放Tomcat執行時的LOG文件;
    |---src:存放Tomcat的源代碼;
    |---webapps:Tomcat的主要Web發布目錄(包括
    應用程序示例 );
    |---work:
    存放jsp編譯后產生的class文件 ;

    三、Tomcat類加載

    ??? Bootstrap($JAVA_HOME/jre/lib/ext/*.jar)
    System($CLASSPATH/*.class
    和指定的
    jar)
    Common($CATALINA_HOME/common
    下的 classes,lib,endores 三個子目錄
    )
    Catalina ($CATALINA_HOME/server/
    下的 classes lib 目錄僅對 Tomcat 可見
    )
    &Shared($CATALINA_HOME/shared/
    下的 classes lib 目錄以及 $CATALINA_HOME/lib 目錄 ) 僅對 Web 應用程序可見 , Tomcat 不可見 WebApp($WEBAPP/Web-INF/* 僅對該 WEB 應用可見
    classes/*.class lib/*.jar)

    加載類和資源的順序為:
    1
    、 /Web-INF/classes

    2 /Web-INF/lib/*.jar

    3 、 Bootstrap

    4 、 System

    5 、 $CATALINA_HOME/common/classes
    6
    $CATALINA_HOME/common/endores/*.jar

    7 $CATALINA_HOME/common/lib/*.jar

    8 、 $CATALINA_HOME/shared/classes
    9
    、 $CATALINA_HOME/shared/lib/*.jar

    ?

    四、 server.xml 配置簡介

    下面講述這個文件中的基本配置信息,更具體的配置信息請參考 tomcat 的文檔:
    ????server:
    ??????????1
    port 指定一個端口,這個端口負責監聽關閉 tomcat 的請求
    ??????????2
    shutdown 指定向端口發送的命令字符串
    ????service:
    ??????????1
    name 指定 service 的名字

    ????Connector (
    表示客戶端和 service 之間的連接 )

    ??????????1
    port 指定服務器端要創建的端口號,并在這個斷口監聽來自客戶端的請求
    ??????????2
    、 minProcessors 服務器啟動時創建的處理請求的線程數

    ??????????3
    、 maxProcessors 最大可以創建的處理請求的線程數

    ??????????4
    enableLookups 如果為 true ,則可以通過調用 request.getRemoteHost() 進行 DNS

    詢來得到遠程客戶端的實際主機名,若為 false 則不進行 DNS 查詢,而是返回其 ip

    地址
    ??????????5
    redirectPort 指定服務器正在處理 http 請求時收到了一個 SSL 傳輸請求后重定向的

    端口號
    ??????????6
    acceptCount 指定當所有可以使用的處理請求的線程數都被使用時,可以放到處理

    隊列中的請求數,超過這個數的請求將不予處理
    ??????????7
    、 connectionTimeout 指定超時的時間數 ( 以毫秒為單位
    )
    ????Engine (
    表示指定 service 中的請求處理機,接收和處理來自 Connector 的請求 )

    ??????????1
    defaultHost 指定缺省的處理請求的主機名,它至少與其中的一個 host 元素的 name

    屬性值是一樣的
    ????Context (
    表示一個 web 應用程序 )

    ??????????1
    docBase 應用程序的路徑或者是 WAR 文件存放的路徑
    ??????????2
    、 path 表示此 web 應用程序的 url 的前綴,這樣請求的 url

    http://localhost:8080/path/****
    ??????????3
    、 reloadable 這個屬性非常重要,如果為 true ,則 tomcat 會自動檢測應用程序的

    /WEB-INF/lib /WEB-INF/classes 目錄的變化,自動裝載新的應用程序,我們可

    以在不重起 tomcat 的情況下改變應用程序
    ????host (
    表示一個虛擬主機 )

    ??????????1
    、 name 指定主機名
    ??????????2
    appBase 應用程序基本目錄,即存放應用程序的目錄

    ??????????3
    、 unpackWARs 如果為 true ,則 tomcat 會自動將 WAR 文件解壓,否則不解壓,直接

    WAR 文件中運行應用程序
    ????Logger (
    表示日志,調試和錯誤信息 )

    ??????????1
    、 className 指定 logger 使用的類名,此類必須實現 org.apache.catalina.Logger 接口
    ??????????2
    、 prefix 指定 log 文件的前綴

    ??????????3
    suffix 指定 log 文件的后綴

    ??????????4
    、 timestamp 如果為 true ,則 log 文件名中要加入時間,如下

    :localhost_log.2001-10-04.txt
    ??Realm (
    表示存放用戶名,密碼及 role 的數據庫 )

    ??????????1
    、 className 指定 Realm 使用的類名,此類必須實現 org.apache.catalina.Realm 接口
    ?? Valve (
    功能與 Logger 差不多,其 prefix suffix 屬性解釋和 Logger 中的一樣 )

    ??????????1
    、 className 指定 Valve 使用的類名,如用 org.apache.catalina.valves.AccessLogValve

    類可以記錄應用程序的訪問信息
    ????directory
    (指定 log 文件存放的位置):

    ??? 1
    、 pattern 有兩個值, common 方式記錄遠程主機名或 ip 地址,用戶名,日期,第一行

    請求的字符串, HTTP 響應代碼,發送的字節數。 combined 方式比 common 方式記

    錄的值更多

    ?

    五、 web.xml 配置簡介

    1 、默認 ( 歡迎 ) 文件的設置

    tomcat4\conf\web.xml 中, <welcome-file-list> IIS 中的默認文件意思相同。

    <welcome-file-list>

     <welcome-file>index.html</welcome-file>

     <welcome-file>index.htm</welcome-file>

     <welcome-file>index.jsp</welcome-file>

     </welcome-file-list>

    ?

    2 、報錯文件的設置

     <error-page>

     <error-code>404</error-code>

     <location>/notFileFound.jsp</location>

     </error-page>

     <error-page>

     <exception-type>java.lang.NullPointerException</exception-type>

     <location>/null.jsp</location>

     </error-page>

    如果某文件資源沒有找到,服務器要報 404 錯誤,按上述配置則會調用 \webapps\ROOT\notFileFound.jsp

    如果執行的某個 JSP 文件產生 NullPointException ,則會調用 \webapps\ROOT\null.jsp

    ?

    3 、會話超時的設置

    設置 session 的過期時間,單位是分鐘;

     <session-config>

     <session-timeout>30</session-timeout>

     </session-config>

    ?

    4 、過濾器的設置

     <filter>

     <filter-name>FilterSource</filter-name>

     <filter-class>project4. FilterSource </filter-class>

     </filter>

     <filter-mapping>

     <filter-name>FilterSource</filter-name>

     <url-pattern>/WwwServlet</url-pattern>

     (<url-pattern>/haha/*</url-pattern>)

     </filter-mapping>

    ?

    過濾:

     1) 身份驗證的過濾 Authentication Filters

     2) 日志和審核的過濾 Logging and Auditing Filters

     3) 圖片轉化的過濾 Image conversion Filters

     4) 數據壓縮的過濾 Data compression Filters

     5) 加密過濾 Encryption Filters

     6) Tokenizing Filters

     7) 資源訪問事件觸發的過濾 Filters that trigger resource access events XSL/T 過濾 XSL/T filters

     9) 內容類型的過濾 Mime-type chain Filter 注意監聽器的順序,如:先安全過濾,然后資源,

    然后內容類型等,這個順序可以自己定。

    ?

    六、管理
    ? ???1
    、用戶配置
    ?????
    在進行具體 Tomcat 管理之前,先給 tomcat 添加一個用戶,使這個用戶有權限來進行管理。
    ?????
    打開 conf 目錄下的 tomcat-users.xml 文件,在相應的位置添加下面一行:

    ??? <user name="user" password="user" roles="standard,manager"/>
    ???
    然后重起 tomcat ,在瀏覽器中輸入 http://localhost:8080/manager/ ,會彈出對話框,輸入上面的用戶

    名和密碼即可。

    ? ???2
    、應用程序列表
    ?????
    在瀏覽器中輸入 http://localhost:8080/manager/list ,瀏覽器將會顯示如下的信息:
    ??? OK - Listed applications for virtual host localhost
    ??? /ex:running:1
    ??? /examples:running:1
    ??? /webdav:running:0
    ??? /tomcat-docs:running:0
    ??? /manager:running:0
    ??? /:running:0
    ????
    上面顯示的信息分別為:應用程序的路徑、當前狀態、連接這個程序的 session


    ? ? 3
    、重新裝載應用程序
    ?????
    在瀏覽器中輸入 http://localhost:8080/manager/reload?path=/examples ,瀏覽器顯示如下:
    ??? OK - Reloaded application at context path /examples ???

    這表示 example 應用程序裝載成功,如果我們將 server.xml Context 元素的 reloadable 屬性設為 true ,則沒必要利用這種方式重新裝載應用程序,因為 tomcat 會自動裝載。

    ?

    4 、顯示 session 信息
    ????
    在瀏覽器中輸入 http://localhost:8080/manager/sessions?path=/examples ,瀏覽器顯示如下:
    ????OK - Session information for application at context path /examples Default maximum session inactive

    interval 30 minutes

    5
    、啟動和關閉應用程序
    ???
    在瀏覽器中輸入 http://localhost:8080/manager/start?path=/examples

    http://localhost:8080/manager/stop?path=/examples 分別啟動和關閉 examples 應用程序。

    關于作者:

    楊曉,計算機碩士,曾在 NEC 、 Softbrain 擔任 java 開發工作。

    博客: http://blog.sina.com.cn/u/1237288325

    ?



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=871509

    posted on 2006-09-05 12:04 摩西 閱讀(201) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲熟伦熟女专区hd高清| 57pao国产成视频免费播放| 亚洲an日韩专区在线| 亚洲国产精品va在线播放| 国产免费黄色大片| 国产精品无码免费播放| 最近高清中文字幕免费| a级毛片高清免费视频| 特级做a爰片毛片免费看| 亚洲国产精品ⅴa在线观看| 亚洲mv国产精品mv日本mv| 亚洲日本在线看片| 亚洲人成中文字幕在线观看 | 久青草国产免费观看| 亚洲色偷偷色噜噜狠狠99网| 亚洲蜜芽在线精品一区| 亚洲AV乱码久久精品蜜桃| 亚洲精品色午夜无码专区日韩| 亚洲国产精品无码久久九九 | 亚洲V无码一区二区三区四区观看| 亚洲国产精品丝袜在线观看| jjzz亚洲亚洲女人| 一个人看的www免费视频在线观看| a一级爱做片免费| 亚洲成电影在线观看青青| 亚洲成年看片在线观看| 国产一级一片免费播放i| 国产美女精品视频免费观看| 日本v片免费一区二区三区 | 亚洲爆乳少妇无码激情| 亚洲乱色熟女一区二区三区蜜臀| 亚洲午夜成激人情在线影院| 中文亚洲AV片不卡在线观看| 久久久久亚洲av成人无码电影 | 亚洲精品国产电影午夜| 亚洲黄色三级视频| 亚洲videos| 国产精品亚洲精品日韩动图| 亚洲乱人伦精品图片| 亚洲人成网站色在线观看| 亚洲AV色欲色欲WWW|