Web应用中设置Context Path案例详解

 更新时间:2021年08月12日 16:06:25   作者:清箫  
这篇文章主要介绍了Web应用中设置Context Path案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

URL:http://hostname.com/contextPath/servletPath/pathInfo

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 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>元素,因为只有重启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案例详解的文章就介绍到这了,更多相关Web应用中设置Context Path内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Tomcat支持https访问的步骤讲解

    Tomcat支持https访问的步骤讲解

    今天小编就为大家分享一篇关于Tomcat支持https访问的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Tomcat核心组件及应用架构详解

    Tomcat核心组件及应用架构详解

    众所周知Tomcat 就是一个 Servlet 容器,为了方便使用,他们具有http服务器的功能,所以Tomcat 就是一个“HTTP 服务器 + Servlet 容器”,我们也叫它们 Web 容器,今天重点给大家普及Tomcat核心组件及应用架构相关知识,感兴趣的朋友一起了解下吧
    2021-05-05
  • Tomcat容器管理安全的验证方式汇总

    Tomcat容器管理安全的验证方式汇总

    当访问服务器中受保护的资源时,容器管理的验证方法可以控制确认用户身份的方式。Tomcat支持四种容器管理的安全防护。下面小编给大家分享Tomcat容器管理安全的验证方式汇总,感兴趣的朋友一起看看吧
    2016-11-11
  • Centos环境下Tomcat虚拟主机配置详细教程

    Centos环境下Tomcat虚拟主机配置详细教程

    这篇文章主要讲的是在 CentOS 系统上,如何一步步配置 Tomcat 的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定,需要的朋友可以参考下
    2025-03-03
  • tomcat7的配置文件server.xml解析

    tomcat7的配置文件server.xml解析

    本篇文章主要介绍了tomcat7的server.xml解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Tomcat starup.bat脚本开机自启动的实现

    Tomcat starup.bat脚本开机自启动的实现

    本文主要介绍了Tomcat starup.bat脚本开机自启动的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • nginx+tomcat单个域名及多个域名配置教程

    nginx+tomcat单个域名及多个域名配置教程

    这篇文章主要介绍了nginx+tomcat单个域名及多个域名配置教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-12-12
  • Tomcat在Linux服务器上的BIO、NIO、APR模式设置方法

    Tomcat在Linux服务器上的BIO、NIO、APR模式设置方法

    下面小编就为大家分享一篇Tomcat在Linux服务器上的BIO、NIO、APR模式设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • Maven3.8.1使用Tomcat8插件启动项目的方法(亲测有效)

    Maven3.8.1使用Tomcat8插件启动项目的方法(亲测有效)

    在本地maven的settings.xml文件中添加阿里云镜像,然后在pom.xml文件中添加tomcat8插件的配置,重新下载依赖,运行tomcat8:run命令,成功启动项目,本文介绍Maven3.8.1使用Tomcat8插件启动项目的方法,感兴趣的朋友一起看看吧
    2024-11-11
  • 修改TOMCAT的JVM虚拟机内存大小的三种方法

    修改TOMCAT的JVM虚拟机内存大小的三种方法

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大,经常会出现Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出的错误,所以本文介绍了修改TOMCAT的JVM虚拟机内存大小的三种方法,需要的朋友可以参考下
    2024-09-09

最新评论