Web應用程式開發(二)
<一個host代表一個web網站>
1、 虛擬目錄的根目錄
webapps/ROOT預設指定該目錄是web網站的根目錄
自己指定一個檔案系統目錄是web網站的根目錄,在server.xml中在<Host></Host>元素中間增加:<Context path=””docBase=”.”Debug=”0”/>
2、 虛擬目錄的子目錄
(1) 在server.xml中在<Host></Host>元素中間增加<Context path=”/book”docBase=”e:\test”Debug=”0”/>
(2) Webapps目錄裡面的每一個子目錄都映射成一個虛擬子目錄,虛擬子目錄名字和檔案系統子目錄名一樣
(3) 達成一個war包,在server.xml檔案中配置
<Context path=”/student”docBase=”d:\myweb.war” />虛擬子目錄的名字和path屬性的值一樣
Debug可以不寫,它的值代表的是大小
(4)打成一個war包,把war包放到webapps下就行。虛擬子目錄名和war包得名字一樣
打包:e:--dir---cd myweb---dir---jar cvf myweb.war .[.代表的目前的目錄下的所有檔案]
部署描述符和預設頁面
Tomcat/conf/web.html//在容器裡設定的部署描述符,對容器裡部署的所有web應用程式全有效
每一個web應用程式虛擬子目錄下WEB-INF/web.xml//設定自己特殊的相應的配置,如果它裡面的配置有與容器裡設定的部署描述符相同的配置,它會覆蓋容器裡設定的。
預設頁的設定
當尋找的名稱不全而直接敲斷行符號時,會按以下順序尋找,如果都沒有則報404錯誤既沒有找到(F:\Tomcat\conf\web.xml)
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
配置虛擬機器主機
瀏覽器訪問WEB資源的過程
URL----格式:http://IP地址(或主機名稱):連接埠號碼/目錄名稱/網頁檔案名稱
虛擬機器主機及實現原理
目的:在一台電腦上建立多個WEB網站,並為每個WEB網站設定不同的主目錄和目錄,每個WEB網站作為各自獨立的網站分配給不同的公司或部門
原理:
WEB伺服器上的每個WEB網站必須設定有不同的標識資訊
WEB瀏覽器發出的串連和請求資訊中包含WEB網站的標識資訊
WEB網站的標識資訊:
IP地址、連接埠號碼、主機名稱
基於主機名稱的虛擬機器主機
兩個Web網站
1、 主機名稱 :site1 http://site1:8080/index.html
2、 主機名稱 :site2 http://site2:8080/index.html
http://主機名稱:8080/index.html
虛擬機器主機的設定:
conf/server.xml
<Host name=”site1”appBase=”e:\VirtualHost1”>
<Context path=””docBase=”.”/><!_設定成根目錄__>
</Host>
<Host name=”site2”appBase=”e:\VirtualHost2”>
<Context path=””docBase=”.”/>
</Host>
當要訪問的web網站沒有設定相應的虛擬機器主機時,訪問的是預設網站
基於連接埠的虛擬機器主機
Web網站 8080
Web網站 8081
http://localhost:8080/index.html
http://localhost:8081/index.html
<Service name=”Tomcat_second”>
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />//連接器
<Engine name="Catalina" defaultHost="localhost">//引擎