tomcat
的目錄結(jié)構(gòu)
? /bin?????????
存放啟動(dòng)和關(guān)閉
tomcat
的腳本文件
? /conf????????
存放
tomcat
服務(wù)器的各種配置文件,最重要的是
server.xml
? /server??????
包含
3
個(gè)子目錄,
classes
、
lib
、
webapps
? /server/lib?
存放
tomcat
服務(wù)器所需的各種
JAR
文件(只能
tomcat
服務(wù)器訪問)
? /server/webapps?
存放
tomcat
自帶的兩個(gè)
web
應(yīng)用,
admin
和
manager
應(yīng)用
? /common/lib?
存放
tomcat
服務(wù)器及所有
web
應(yīng)用都可以訪問的
JAR
文件
? /shared/lib?
存放所有
web
應(yīng)用都可以訪問的
JAR
文件(
tomcat
服務(wù)器不能訪問)
? /logs????????
存放
tomcat
的日志文件
? /webapps????
當(dāng)發(fā)布
web
應(yīng)用時(shí),默認(rèn)情況下把
web
應(yīng)用文件放于此目錄
? /work??????? tomcat 把由 JSP 生成的 Servlet 放于此目錄
Java web
組成
??
Java web
應(yīng)用由一組靜態(tài)
HTML
頁(yè)、
Servlet
、
JSP
和其他相關(guān)的
class
組成。每種組件在
web
應(yīng)用中都有固定的存放目錄。
web
應(yīng)用的配置信息存放在
web.xml
文件中。在發(fā)布某些組件(如
Servlet
)時(shí),必須在
web.xml
文件中添加相應(yīng)的配置信息
web應(yīng)用的目錄結(jié)構(gòu)
??? web應(yīng)用具有固定的目錄結(jié)構(gòu),比如開發(fā)一個(gè)名為helloapp的應(yīng)用,在<CATALINA_HOME>/webapps目錄下創(chuàng)建這個(gè)目錄結(jié)構(gòu)。
??? /helloapp????? web應(yīng)用的根目錄,所有的JSP和HTML文件都存放于此目錄下
??? /helloapp/WEB-INF 存放web應(yīng)用的發(fā)布描述文件web.xml
????/helloapp/WEB-INF/classes 存放各種class文件,Servlet類文件也放于此目錄
??? /helloapp/WEB-INF/lib??存放web應(yīng)用所需的各種JAR文件,比如可以存放JDBC驅(qū)動(dòng)程序的JAR文件
???tomcat的類裝載器先裝載classes目錄下的類,再裝載lib目錄下的類,如果兩個(gè)目錄下存在同名的類,classes目錄下的類具有優(yōu)先權(quán)
在server.xml中加入<Context>元素
???
<Context>
元素是<CATALINA_HOME>/conf/server.xml中使用最頻繁的元素,它代表了運(yùn)行在<Host>上的單個(gè)Web應(yīng)用,一個(gè)<Host>中可以有多個(gè)<Context>元素,每個(gè)Web應(yīng)用必須有唯一的URL路徑,path屬性設(shè)定。
??? <!--Define the default virtual host-->
??? <Hostname="localhost"debug="0"appBase="webapps"unpackWARs="true"autoDeploy="true">
??? ....
??? ....
??? <Contextpath="/helloapp"docBase="helloapp"debug="0"reloadable="true"/>
??? </Host>
???path屬性:指定訪問該web應(yīng)用的URL入口
?? docBase:指定web應(yīng)用的文件路徑,可以給絕對(duì)路徑,也可以給Host的appBase的相對(duì)路徑
?? reloadable:如果設(shè)置為true,tomcat服務(wù)器在運(yùn)行狀態(tài)下會(huì)監(jiān)視在WEB-INF/classes和lib目錄下class文件的改動(dòng),如果被更新,服務(wù)器會(huì)自動(dòng)重新加載web應(yīng)用
創(chuàng)建并發(fā)布WAR文件
??? 1>進(jìn)入helloapp應(yīng)用的根目錄<CATALINA_HOME>/webapps目錄下
??? 2>把整個(gè)Web應(yīng)用打包為helloapp.war,命令為: jar cvf helloapp.war *.*(解壓參數(shù)為xvf)
??? 3>把helloapp.war文件復(fù)制到<CATALINA_HOME>/webapps目錄下
??? 4>刪除原來的helloapp整個(gè)目錄(一定要?jiǎng)h除整個(gè)目錄)
??? 5>啟動(dòng)Tomcat服務(wù)器
??? 根據(jù)<CATALINA_HOME>/conf/server.xml里面Host的unpackWARs屬性,如果為true,則Tomcat啟動(dòng)的時(shí)候會(huì)自動(dòng)把war文件解壓,展開為開放式的目錄結(jié)構(gòu)