您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Web應用中如何設置Context Path的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
如果沒有contextPath,則默認使用root上下文,root上下文的路徑為"/"。
在沒有XML IoC文件的情況下:
如果WAR文件名是myapp.war,那么上下文路徑是:/myapp;
如果WAR文件名是ROOT.war,那么上下文路徑是:/;
如果WAR文件名是ROOT-foobar.war,那么上下文路徑是/,虛擬host是foobar。
<Configureclass="org.eclipse.jetty.webapp.WebAppContext"> <Setname="contextPath">/test</Set> ... </Configure>
單獨的<context>元素可以通過多種方式定義:
在Web應用的/META-INF/context.xml文件中定義,當Host的copyXML屬性為true的時候,context.xml文件將被拷貝到$CATALINA_BASE/conf/[enginename]/[hostname]目錄下,并且重新命名,命名規范參考/META-INF/context.xml小節的說明。
直接在$CATALINA_BASE/conf/[enginename]/[hostname]目錄下放置一個XML文件,文件名規范和內容參考META-INF/context.xml小節的說明。這個文件的優先級比/META-INF/context.xml高。
在Tomcat服務器的conf/server.xml文件的<Host>元素中定義一個<Context>元素。
Context name,context path,contextversion和base file name之間有一個緊密的關系:
如果沒有contextversion,那么context name和context path是一樣的;
如果contextpath是空字符串,base name就是ROOT;
如果contextpath不是空字符串,base name=context path,其中首/字符已經去掉,/字符換成了#字符。
舉例說明:
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 |
不推薦在conf/server.xml文件中添加<context>元素,因為只有重啟Tomcat才能重新加載這個文件,影響其他WebAPP的正常使用。
Tomcat有默認的context元素,這個context適用于所有應用程序,但是它的優先級也是最低,所有配置可以被應用全部覆蓋。
默認的context.xml有兩種:
一種是$CATALINA_BASE/conf/context.xml,這個context元素中的信息會被所有應用加載;
一種是$CATELINA_BASE/conf/[enginename]/[hostname]/context.xml.default,這個<context>元素中的信息會被這個虛擬Host中的所有應用加載。
感謝各位的閱讀!關于“Web應用中如何設置Context Path”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。