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

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

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

    隨筆 - 100  文章 - 50  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    收藏夾

    我收藏的一些文章!

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    本章介紹如何在Tomcat上創建和發布Web應用。這里首先講解Tomcat的目錄結構以及Web應用的目錄結構,接著介紹如何將HTML、 Servlet、JSP和Tag Library部署到Web應用中,然后介紹把整個Web應用打包并發布的方法,最后介紹如何在Tomcat上配置虛擬主機。

    本章側重于討論Web應用的結構和發布方法,所以沒有對本章的Servlet和JSP的例子進行詳細解釋,關于Servlet和JSP的技術可以分別參考其它章節的內容。

    2.1 Tomcat的目錄結構

    在Tomcat上發布Web應用之前,首先要了解Tomcat的目錄結構。Tomcat的目錄結構參見表2-1,這些目錄都是的子目錄。

    表2-1 Tomcat的目錄結構

    目 錄 描 述
    /bin 存放在Windows平臺 以及Linux平臺上啟動 和關閉Tomcat的腳本文件
    /conf 存放Tomcat服務器的各種配置文件, 其中最重要的配置文件是server.xml
    /server 包含3個子目錄: classes、lib和webapps
    /server/lib 存放Tomcat服務器所需的各種JAR文件
    /server/webapps 存放Tomcat自帶的兩個Web應用: admin應用和manager應用
    /common/lib 存放Tomcat服務器以及所有 Web應用都可以訪問的JAR文件
    /shared/lib 存放所有Web應用都可以訪問的JAR文件
    /logs 存放Tomcat的日志文件
    /webapps 當發布Web應用時, 默認情況下把Web應用 文件放于此目錄下
    /work Tomcat把由JSP生成的 Servlet放于此目錄下

    從表2-1可以看出,在/server/lib目錄、/common/lib和/shared/lib目錄下都可以放JAR文件,它們的區別在于:

    在/server/lib目錄下的JAR文件只可被Tomcat服務器訪問

    在/shared/lib目錄下的JAR文件可以被所有的Web應用訪問,但不能被Tomcat服務器訪問

    在/common/lib目錄下的JAR文件可以被Tomcat服務器和所有Web應用訪問

    此外,對于下面將要介紹的Java Web應用,在它的WEB-INF目錄下,也可以建立lib子目錄,在lib子目錄下可以放各種JAR文件,這些JAR文件只能被當前Web應用訪問。

    在以上提到的lib目錄下都只接受JAR文件,如果類壓縮文件為ZIP文件,應該將它展開,重新打包為JAR文件再拷貝到lib目錄中。如果直接將ZIP文件拷貝到lib目錄,則會發現Tomcat服務器仍然找不到相關的類。打包命令參見2.2.8節。

    2.2 創建和發布Web應用

    Java Web應用由一組靜態HTML頁、Servlet、JSP和其他相關的class組成。每種組件在Web應用中都有固定的存放目錄。Web應用的配置信息存放在web.xml文件中。在發布某些組件(如Servlet)時,必須在web.xml文件中添加相應的配置信息。

    2.2.1 Web應用的目錄結構

    Web應用具有固定的目錄結構,這里假定開發一個名為helloapp的Web應用。首先,應該在/webapps目錄下創建這個Web應用的目錄結構,參見表2-2。

    表2-2 Web應用的目錄結構

    目 錄 描 述
    /helloapp Web應用的根目錄, 所有的JSP和HTML文件 都存放于此目錄下
    /helloapp/WEB-INF 存放Web應用的發布描述文件web.xml
    /helloapp/WEB-INF/classes 存放各種class文件, Servlet類文件也放于此目錄下
    /helloapp/WEB-INF/lib 存放Web應用所需的各種JAR文件

    例如,在這個目錄下,可以存放JDBC驅動程序的JAR文件

    從表2-2中,我們看到在classes以及lib子目錄下,都可以存放Java類文件。在運行過程中,Tomcat的類裝載器先裝載classes目錄下的類,再裝載lib目錄下的類。因此,如果兩個目錄下存在同名的類,classes目錄下的類具有優先權。

    本章介紹的helloapp應用的目錄結構如圖2-1所示,helloapp應用在Windows資源管理器中的展開如圖2-2所示。

    在helloapp應用中創建了如下組件:

    HTML組件:index.htm

    JSP組件:login.jsp和hello.jsp

    Servlet組件:DispatcherServlet

    這些組件之間的鏈接關系為:

    index.htm→login.jsp→DispatcherServlet→hello.jsp 圖2-1 helloapp應用的目錄結構 圖2-2 helloapp應用在Windows資源管理器中的展開圖

    2.2.2 web.xml文件

    Java Web應用通過一個基于XML的發布描述符文件來配置其發布信息,這個文件名為web.xml,它存放于WEB-INF子目錄下。在附錄B中將詳細介紹web.xml的配置方法,在附錄C中將介紹XML的基本知識。在web.xml文件中可包含如下配置信息:

    Servlet的定義

    Servlet的初始化參數

    Servlet以及JSP的映射

    安全域配置參數

    welcome文件清單

    資源引用

    環境變量的定義

    現在,創建一個默認的web.xml文件,并把這個文件放到WEB-INF目錄中。

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE web-app PUBLIC
    '-//Sun Microsystems,
    Inc.//DTD Web Application 2.3
    //EN'
    'http://java.sun.com/
    j2ee/dtds/web-app_2_3.dtd'>

    <web-app>
    </web-app>

    以上web.xml文件的第一行指定了XML的版本和字符編碼,第二行DOCTYPE指定文檔類型,接下來聲明了一個元素,所有關于Web應用的配置元素都將加入到這個元素中。

    2.2.3 在server.xml中加入元素

    元素是/conf/server.xml中使用最頻繁的元素,它代表了運行在上的單個Web應用。一個中可以有多個元素。每個Web應用必須有惟一的URL路徑,這個URL路徑在元素的path屬性中設定。例如,在名為"localhost"的元素中加入如下元素:

    <!-- Define the default virtual host -->
    <Host name="localhost" debug="0" appBase="webapps"
    unpackWARs="true" autoDeploy="true">
    ……
    ……
    <Context path="/helloapp"
    docBase="helloapp" debug="0"
    reloadable="true"/>

    </Host>

    Context元素的各個屬性的說明參見表2-3。

    表2-3 Context元素的屬性

    屬 性 描 述
    path 指定訪問該Web應用的URL入口
    docBase 指定Web應用的文件路徑,可以給定絕對路徑,也可以給定相對于Host的appBase屬性的相對路徑(關于Host的appBase屬性參見2.3節)。如果Web應用采用開放目錄結構,則指定Web應用的根目錄;如果Web應用是個WAR文件,則指定WAR文件的路徑
    reloadable 如果這個屬性設為true, Tomcat服務器在運行狀態下會監視在WEB-INF/classes 和WEB-INF/lib目錄下class文件的改動。如果監測到有class文件被更新,服務器會自動重新加載Web應用

    在開發階段,將reloadable屬性設為true,有助于調試Servlet和其他的class文件。但是由于這一功能會加重服務器的運行負荷,因此建議在Web應用的產品發布階段,將這個屬性設為false。

    自:
    http://qingfengxiyu.spaces.live.com/blog/cns!e5f7a3aef9b09ed!149.entry

    posted on 2007-03-31 17:50 fly 閱讀(1333) 評論(0)  編輯  收藏 所屬分類: jsp學習
    主站蜘蛛池模板: 91视频免费网址| 国产又大又粗又硬又长免费 | 亚洲AV无码男人的天堂| 边摸边脱吃奶边高潮视频免费| a级毛片在线免费| 亚洲色WWW成人永久网址| 国产人成亚洲第一网站在线播放| 日亚毛片免费乱码不卡一区 | 黄色免费网站在线看| 免费在线观看的黄色网址| 免费一区二区三区在线视频| 91精品导航在线网址免费| 亚洲综合亚洲国产尤物| 暖暖免费中文在线日本| 亚洲夜夜欢A∨一区二区三区| 91精品成人免费国产| 99ri精品国产亚洲| 国内精品乱码卡1卡2卡3免费| 亚洲小说图区综合在线| 24小时免费看片| 亚洲人成网站在线观看播放| 黄页免费在线观看| 亚洲午夜精品在线| 四虎永久精品免费观看| 中文字幕免费播放| 亚洲欧洲日本天天堂在线观看| 最近最新MV在线观看免费高清| AV激情亚洲男人的天堂国语| 国产精品亚洲综合一区| 性xxxx视频免费播放直播| 亚洲中文字幕乱码一区| 亚洲毛片网址在线观看中文字幕| 亚欧免费无码aⅴ在线观看| 亚洲综合伊人制服丝袜美腿| www国产亚洲精品久久久| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | GOGOGO免费观看国语| 天天摸天天操免费播放小视频| 亚洲视频在线播放| 一级毛片a免费播放王色| 亚洲国产精品lv|