Web应用设置Context Path的方式

Web应用设置Context Path的方式JettywarName INFjetty webxmlTomcat INFcontextxm 默认 contextxmlUR http hostname com contextPath servletPath pathInfoJett 如果没有 contextPath 则默认使用 root 上下文 root 上下文的路

  1. Jetty
    1. warNamewar
    2. WEB-INFjetty-webxml
  2. Tomcat
    1. META-INFcontextxml
    2. Serverxml
    3. 默认contextxml

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

[html] view plain copy

 

   
   
   
   
   
   
   
           
    
      /test     ...      
     
   

Tomcat

单独的

元素可以通过多种方式定义:

  • 在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文件的

    元素中定义一个

    元素。

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 /foo42 foo42 foo42.xml, foo42.war, foo42
/foo/bar 42 /foo/bar42 foo#bar42 foo#bar42.xml, foo#bar42.war, foo#bar42
空字符串 42 42 ROOT42 ROOT42.xml, ROOT42.war, ROOT42

Server.xml

不推荐在conf/server.xml文件中添加

元素,因为只有重启Tomcat才能重新加载这个文件,影响其他WebAPP的正常使用。

默认context.xml

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

默认的context.xml有两种:

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

    元素中的信息会被这个虚拟Host中的所有应用加载。

来源:http://blog.csdn.net/woxueliuyun/article/details/#comments



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223970.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午1:00
下一篇 2026年3月17日 下午1:00


相关推荐

  • R及RStudio下载安装教程(超详细)

    R及RStudio下载安装教程(超详细)R语言是为数学研究工作者设计的一种数学编程语言,主要用于统计分析、绘图、数据挖掘。如果你是一个计算机程序的初学者并且急切地想了解计算机的通用编程,R语言不是一个很理想的选择,可以选择Python、C或Java。R语言与C语言都是贝尔实验室的研究成果,但两者有不同的侧重领域,R语言是一种解释型的面向数学理论研究工作者的语言,而C语言是为计算机软件工程师设计的。R语言是解释运行的语言(与C语言的编译运行不同),它的执行速度比C语言慢得多,不利于优化。但它在语法层面提供…

    2022年6月15日
    51
  • 遗传算法的应用实例python实现_遗传算法Python解决一个问题

    遗传算法的应用实例python实现_遗传算法Python解决一个问题$n:\5~”f1Y!G2T&j%t2F0N#p$x.y!W$j-o1o,ppython实现的遗传算法实例(一))h#F+A#N:p”a&c”^4g%[8i6~%L#]$B&s2U'[7B:_一、遗传算法介绍遗传算法是通过模拟大自然中生物进化的历程,来解决问题的。大自然中一个种群经历过若干代的自然…

    2025年11月8日
    5
  • 十六进制颜色代码大全

    十六进制颜色代码大全在 Qt 中使用时在前面加上 0x 表示十六进制 比如 QPenpen 0xFF0000

    2026年3月19日
    3
  • Cursor安装注册使用教程(Cursor汉化设置中文)

    Cursor安装注册使用教程(Cursor汉化设置中文)

    2026年3月15日
    2
  • python基础菜鸟教程_菜鸟课程好还是文都好

    python基础菜鸟教程_菜鸟课程好还是文都好Python菜鸟教程第二十课之初始Django1.Django简介Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件你甚至可以很方便的开发出自己的工具包。这使得Djan…

    2025年10月4日
    5
  • thinkphp 本地配置手机移动端,在pc端访问手机端

    thinkphp 本地配置手机移动端,在pc端访问手机端

    2021年10月16日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号