tomcat目錄結(jié)構(gòu)簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
tomcat目錄結(jié)構(gòu)簡(jiǎn)介
如果我們有一個(gè)web應(yīng)用,名稱(chēng)為“mail”(同時(shí)也是web應(yīng)用所在目錄的名稱(chēng)),那么其目錄內(nèi)不同類(lèi)型的文件應(yīng)該服從如下放置的規(guī)則:

一般來(lái)講:
對(duì)于html、jsp、css、js文件等,可以直接放置在web應(yīng)用所在目錄中,當(dāng)然如果某些文件比較多,可以另外創(chuàng)建一些目錄來(lái)存放。
而對(duì)于除了上述幾種文件外,一些不希望被外界能訪(fǎng)問(wèn)到的文件必須放在【W(wǎng)EB-INF】目錄中,文件名不許更改,純大寫(xiě),一點(diǎn)不能有區(qū)別,否則必定出錯(cuò),而在這個(gè)目錄下會(huì)存放一些我們開(kāi)發(fā)所需的Java文件(應(yīng)放置在【classes】目錄下),Java運(yùn)行所需要的jar包(放置在【W(wǎng)EB-INF】目錄下的【lib】目錄,也可以放在Tomcat主目錄中的【lib】目錄),還有非常重要的“web.xml”文件,雖然這個(gè)文件由我們自己編寫(xiě)內(nèi)容,但是文件名必須是“web.xml”不能變,這個(gè)文件可以有我們來(lái)對(duì)自己開(kāi)發(fā)的web應(yīng)用進(jìn)行配置。
我的web應(yīng)用就隨Tomcat的【conf】目錄中的web.xml進(jìn)行配置,我們來(lái)看看Tomcat的“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>
在Tomcat的“web.xml”文件的結(jié)尾處,有上面這三句話(huà),意思是首頁(yè)為 “index.html”,如果不存在則首頁(yè)為 “index.htm”,如果還不存在,則首頁(yè)為 “index.jsp”。因此即使我的web應(yīng)用中沒(méi)有專(zhuān)門(mén)的自定義web.xml文件來(lái)設(shè)定我的首頁(yè),那么只要在我的web應(yīng)用所在目錄下有自定義的“index.html”就可以作為我web應(yīng)用的首頁(yè)打開(kāi)。
那么一般我們都要在自己的web應(yīng)用中包含有自己的“web.xml”文件,那么該如何編寫(xiě)呢?
最簡(jiǎn)單的編寫(xiě)方式,取Tomcat的【conf】目錄中的web.xml中的有用信息,比如頭和尾,再加上自己所需的功能,都可以從這個(gè)“模板”文件中摘取。
比如我要自定義自己的首頁(yè),不再采用在web應(yīng)用所在目錄下定義一個(gè)index.html文件,只需要從模板中摘取頭和尾,加上設(shè)置首頁(yè)功能。
假設(shè)我的web應(yīng)用所在目錄為【mail】,其下自定義了【pages】目錄作為存放全部html頁(yè)面,我想將其中的“1.html”作為我應(yīng)用的首頁(yè),那么我應(yīng)用中的自定義web.xml內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> <welcome-file-list> <welcome-file>/pages/1.html</welcome-file> </welcome-file-list> </web-app>
注意這個(gè)路徑的寫(xiě)法,如果以目錄作為開(kāi)頭,那么在目錄之前一定要有“/”。這樣配置好首頁(yè)后,從瀏覽器打開(kāi)就可以只需鍵入該web應(yīng)用對(duì)應(yīng)的虛擬目錄作為路徑:
因此以后就可以使用這種方法設(shè)置自己的web應(yīng)用的首頁(yè)。
但是會(huì)抱怨,不是還得輸入web應(yīng)用所在路徑嗎,這個(gè)不用輸才能算真正意義上的首頁(yè)?。。。?br />
在server.xml文件中的<Host>標(biāo)簽中增加<Context>標(biāo)簽,并將其中的path屬性設(shè)置為缺省值。
在server.xml文件中修改:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <Context path="" docBase="F:\TomCat_8.0.24\webapps\mail" /> </Host>

結(jié)合自定義web.xml文件所設(shè)置的首頁(yè),在瀏覽器中如下:
首頁(yè)完成??!另外只需要將Tomcat的“server.xml”文件中將端口改為80,即可無(wú)需輸入端口,直接IP地址就能訪(fǎng)問(wèn)首頁(yè)!
當(dāng)然web.xml文件不單單只是用來(lái)配置某個(gè)web資源作為網(wǎng)站的首頁(yè),還可以將servlet程序映射到某個(gè)URL地址上、為web應(yīng)用配置監(jiān)聽(tīng)器、為web應(yīng)用配置過(guò)濾器 等等,所以說(shuō)web.xml文件時(shí)整個(gè)開(kāi)發(fā)web應(yīng)用中最重要的配置文件!
相關(guān)文章
解決OpenFeign遠(yuǎn)程調(diào)用返回的對(duì)象總是null問(wèn)題
OpenFeign在SpringCloud中用于遠(yuǎn)程調(diào)用,配置簡(jiǎn)單,在使用Ribbon或Hystrix時(shí),需要注意path參數(shù)必須以/開(kāi)頭,否則回參會(huì)是null2024-11-11
java 中cookie的詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了java 中cookie的詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,這里對(duì)cookie 的建立與讀取,和設(shè)定cookie 生命周期等詳細(xì)介紹,需要的朋友可以參考下2017-01-01
java中線(xiàn)程池最實(shí)用的創(chuàng)建與關(guān)閉指南
試中經(jīng)常會(huì)問(wèn)到,創(chuàng)建一個(gè)線(xiàn)程池需要哪些參數(shù)啊,線(xiàn)程池的工作原理啊,卻很少會(huì)問(wèn)到線(xiàn)程池如何安全關(guān)閉的,下面這篇文章主要給大家介紹了關(guān)于java中線(xiàn)程池最實(shí)用的創(chuàng)建與關(guān)閉的相關(guān)資料,需要的朋友可以參考下2021-09-09
springboot中獲取配置文件中屬性值的幾種方式小結(jié)
本文主要介紹了springboot中獲取配置文件中屬性值的幾種方式小結(jié),主要介紹了六種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05
IDEA java出現(xiàn)無(wú)效的源發(fā)行版14解決方案
這篇文章主要介紹了IDEA java出現(xiàn)無(wú)效的源發(fā)行版14解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
如何在mybatis中向BLOB字段批量插入數(shù)據(jù)
這篇文章主要介紹了如何在mybatis中向BLOB字段批量插入數(shù)據(jù)的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-10-10
詳解SpringBoot啟動(dòng)項(xiàng)目后執(zhí)行方法的幾種方式
在項(xiàng)目開(kāi)發(fā)中某些場(chǎng)景必須要用到啟動(dòng)項(xiàng)目后立即執(zhí)行方式的功能,本文主要聊聊實(shí)現(xiàn)立即執(zhí)行的幾種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Java構(gòu)造函數(shù)的相互調(diào)用代碼示例
這篇文章主要介紹了Java構(gòu)造函數(shù)的相互調(diào)用代碼示例,分享了兩段代碼示例,通過(guò)this關(guān)鍵字實(shí)現(xiàn)對(duì)的構(gòu)造函數(shù)的調(diào)用,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Spring Security實(shí)現(xiàn)驗(yàn)證碼登錄功能
這篇文章主要介紹了Spring Security實(shí)現(xiàn)驗(yàn)證碼登錄功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01

