温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Web应用中如何设置Context Path

发布时间:2021-08-13 10:42:31 来源:亿速云 阅读:364 作者:小新 栏目:开发技术

这篇文章给大家分享的是有关Web应用中如何设置Context Path的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Jetty

如果没有contextPath,则默认使用root上下文,root上下文的路径为"/"。

warName.war

在没有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

单独的<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>元素。

META-INF/context.xml

Context name,context path,contextversion和base file name之间有一个紧密的关系:

  • 如果没有contextversion,那么context name和context path是一样的;

  • 如果contextpath是空字符串,base name就是ROOT;

  • 如果contextpath不是空字符串,base name=context path,其中首/字符已经去掉,/字符换成了#字符。

举例说明:

Context PathContext VersionContext NameBase File NameExample File Names (.xml, .war & directory)
/fooNone/foofoofoo.xml, foo.war, foo
/foo/barNone/foo/barfoo#barfoo#bar.xml, foo#bar.war, foo#bar
空字符串NoneEmpty StringROOTROOT.xml, ROOT.war, ROOT
/foo42/foo##42foo##42foo##42.xml, foo##42.war, foo##42
/foo/bar42/foo/bar##42foo#bar##42foo#bar##42.xml, foo#bar##42.war, foo#bar##42
空字符串42##42ROOT##42ROOT##42.xml, ROOT##42.war, ROOT##42

Server.xml

不推荐在conf/server.xml文件中添加<context>元素,因为只有重启Tomcat才能重新加载这个文件,影响其他WebAPP的正常使用。

默认context.xml

Tomcat有默认的context元素,这个context适用于所有应用程序,但是它的优先级也是最低,所有配置可以被应用全部覆盖。

默认的context.xml有两种:

  • 一种是$CATALINA_BASE/conf/context.xml,这个context元素中的信息会被所有应用加载; 

  • 一种是$CATELINA_BASE/conf/[enginename]/[hostname]/context.xml.default,这个<context>元素中的信息会被这个虚拟Host中的所有应用加载。

感谢各位的阅读!关于“Web应用中如何设置Context Path”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI