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

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

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

    posts - 89,  comments - 98,  trackbacks - 0

    自從JSP發布之后,推出了各式各樣的JSP引擎。Apache Group在完成GNUJSP1.0的開發以后,開始考慮在SUN的JSWDK基礎上開發一個可以直接提供Web服務的JSP服務器,當然同時也支持Servlet, 這樣Tomcat就誕生了。

    一、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 應用程序。

    posted on 2006-07-28 09:43 水煮三國 閱讀(291) 評論(0)  編輯  收藏 所屬分類: Database
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210747
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久亚洲欧洲日产国码二区| 国产亚洲欧美日韩亚洲中文色| 拨牐拨牐x8免费| 一区二区免费在线观看| 亚洲成av人影院| 卡1卡2卡3卡4卡5免费视频| 搜日本一区二区三区免费高清视频 | 亚洲高清国产拍精品青青草原| 十八禁视频在线观看免费无码无遮挡骂过| 亚洲欧洲日产国码久在线观看| 免费观看大片毛片| 人妻在线日韩免费视频| 亚洲欧洲国产综合AV无码久久 | igao激情在线视频免费| 亚洲无线一二三四区手机| 午夜成人无码福利免费视频| 亚洲精品国产啊女成拍色拍| 免费在线黄色网址| 成人福利免费视频| 久久久久亚洲AV无码专区首JN| 日本免费观看网站| 在线观看的免费网站无遮挡| 一日本道a高清免费播放| 亚洲国产午夜电影在线入口 | 美女18一级毛片免费看| 亚洲综合一区二区精品久久| 亚洲精品A在线观看| 99久久这里只精品国产免费| 黄色免费在线网站| 精品无码一区二区三区亚洲桃色 | 国产99精品一区二区三区免费 | 在线观看肉片AV网站免费| 亚洲丁香婷婷综合久久| 亚洲资源在线视频| 亚洲国产精品久久久天堂| 大胆亚洲人体视频| 国产成人精品免费直播| 69成人免费视频| 99久在线国内在线播放免费观看| 老司机午夜性生免费福利| 亚洲午夜福利在线视频|