Web應(yīng)用中設(shè)置Context Path案例詳解
URL:http://hostname.com/contextPath/servletPath/pathInfo
Jetty
如果沒(méi)有contextPath,則默認(rèn)使用root上下文,root上下文的路徑為"/"。
warName.war
在沒(méi)有XML IoC文件的情況下:
- 如果WAR文件名是myapp.war,那么上下文路徑是:/myapp;
- 如果WAR文件名是ROOT.war,那么上下文路徑是:/;
- 如果WAR文件名是ROOT-foobar.war,那么上下文路徑是/,虛擬host是foobar。
WEB-INF/jetty-web.xml
<Configureclass="org.eclipse.jetty.webapp.WebAppContext"> <Setname="contextPath">/test</Set> ... </Configure>
Tomcat
單獨(dú)的<context>元素可以通過(guò)多種方式定義:
- 在Web應(yīng)用的/META-INF/context.xml文件中定義,當(dāng)Host的copyXML屬性為true的時(shí)候,context.xml文件將被拷貝到$CATALINA_BASE/conf/[enginename]/[hostname]目錄下,并且重新命名,命名規(guī)范參考/META-INF/context.xml小節(jié)的說(shuō)明。
- 直接在$CATALINA_BASE/conf/[enginename]/[hostname]目錄下放置一個(gè)XML文件,文件名規(guī)范和內(nèi)容參考META-INF/context.xml小節(jié)的說(shuō)明。這個(gè)文件的優(yōu)先級(jí)比/META-INF/context.xml高。
- 在Tomcat服務(wù)器的conf/server.xml文件的<Host>元素中定義一個(gè)<Context>元素。
META-INF/context.xml
Context name,context path,contextversion和base file name之間有一個(gè)緊密的關(guān)系:
- 如果沒(méi)有contextversion,那么context name和context path是一樣的;
- 如果contextpath是空字符串,base name就是ROOT;
- 如果contextpath不是空字符串,base name=context path,其中首/字符已經(jīng)去掉,/字符換成了#字符。
舉例說(shuō)明:
| Context Path | Context Version | Context Name | Base File Name | Example File Names (.xml, .war & directory) |
| /foo | None | /foo | foo | foo.xml, foo.war, foo |
| /foo/bar | None | /foo/bar | foo#bar | foo#bar.xml, foo#bar.war, foo#bar |
| 空字符串 | None | Empty String | ROOT | ROOT.xml, ROOT.war, ROOT |
| /foo | 42 | /foo##42 | foo##42 | foo##42.xml, foo##42.war, foo##42 |
| /foo/bar | 42 | /foo/bar##42 | foo#bar##42 | foo#bar##42.xml, foo#bar##42.war, foo#bar##42 |
| 空字符串 | 42 | ##42 | ROOT##42 | ROOT##42.xml, ROOT##42.war, ROOT##42 |
Server.xml
不推薦在conf/server.xml文件中添加<context>元素,因?yàn)橹挥兄貑omcat才能重新加載這個(gè)文件,影響其他WebAPP的正常使用。
默認(rèn)context.xml
Tomcat有默認(rèn)的context元素,這個(gè)context適用于所有應(yīng)用程序,但是它的優(yōu)先級(jí)也是最低,所有配置可以被應(yīng)用全部覆蓋。
默認(rèn)的context.xml有兩種:
- 一種是$CATALINA_BASE/conf/context.xml,這個(gè)context元素中的信息會(huì)被所有應(yīng)用加載;
- 一種是$CATELINA_BASE/conf/[enginename]/[hostname]/context.xml.default,這個(gè)<context>元素中的信息會(huì)被這個(gè)虛擬Host中的所有應(yīng)用加載。
到此這篇關(guān)于Web應(yīng)用中設(shè)置Context Path案例詳解的文章就介紹到這了,更多相關(guān)Web應(yīng)用中設(shè)置Context Path內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信