Web应用设置Context Path的方式

原创 2017年02月10日 21:46:20
  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

 
<ConfigureclassConfigureclass="org.eclipse.jetty.webapp.WebAppContext">  
  <SetnameSetname="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中的所有应用加载。


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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Web应用设置Context Path的方式

URL:http://hostname.com/contextPath/servletPath/pathInfoJetty如果没有contextPath,则默认使用root上下文,root上下文的路径...
  • woxueliuyun
  • woxueliuyun
  • 2015年04月30日 10:10
  • 30928

web应用中三种数据共享方式:request,session,application

在web应用中,多个web组件通过彼此关联来实现协作,共同完成客户端请求的任务。在这个过程中,常常会涉及到数据在多个web组件之间的共享。典型的方法数据共享方式有三种,和当前的web组件共享同一请求的...
  • ja_II_ck
  • ja_II_ck
  • 2008年07月11日 09:23
  • 3539

tomcat中我们来配置我们的contextPath

在配置我们的contextPath的时候,我们有两种方式,一种是在我们的服务器的server.xml中通过下面的配置来实现       这里我们可以配置我们的contextPath这个路径...
  • wujiang88
  • wujiang88
  • 2016年04月29日 10:38
  • 3122

idea报duplicate context path '/'

我tomcat下加入两个maven项目,就是同一个项目的war和exploded两个版本,但是报错 在右下角提示什么 Error:Duplicate context path '/' 原因:因为不...
  • kobedir
  • kobedir
  • 2017年05月09日 10:28
  • 4690

Tomcat的Context配置虚拟目录问题,path=""和path="/"

1.path=""直接输入localhost:8080在IE和chrome上可以直接访问项目,在firefox好像只能访问cat主页。 2.path="/" 启动tomcat时: 2015-10...
  • sm447288883
  • sm447288883
  • 2015年10月21日 10:35
  • 98

Tomcat7中web应用加载原理(一) Context构建

为什么关心Tomcat中一个web应用的加载过程?在前面的文章中看过多次Tomcat的组件结构图,这里再贴出来回顾一下: 之前的《Tomcat7启动分析》系列文章中看到Tomcat启动的时候将会...
  • juroney1
  • juroney1
  • 2014年04月30日 02:56
  • 1174

设置web应用的 context root

context root确定了Tomcat将那些URL请求转发到Web应用. 如果应用的context root 设置为 myapp,除非存在更为明确context root的Web应用,那么所有 /...
  • z5234032
  • z5234032
  • 2016年05月13日 10:14
  • 207

tomcat server.xml中context标签下path值不同所带来的影响

一个项目往往有多种版本,dat,uat,pro,从svn上检出往往因为名字相同,我们需要修改项目名称,在加载到tomcat中后,会出现如下图的情况:...
  • hzyann
  • hzyann
  • 2017年08月15日 14:30
  • 195

Tomcat中Context的配置

Tomcat直接ip地址访问不用加端口和项目名当我们开发完一个WEB项目 然后部署到tomcat下,正常情况下应该是这样访问:http://localhost:端口号/项目名如果我们想让用户仅仅输入域...
  • itmyhome
  • itmyhome
  • 2014年10月17日 22:14
  • 5415

Host Context配置

1、将应用文件夹或war文件直接copy到tomcat的webapps目录下,这样tomcat启动的时候会将webapps目录下的文件夹或war文件的内容当成应用部署。这种方式最简单且无须书写任何配置...
  • StriveYee
  • StriveYee
  • 2012年02月22日 17:52
  • 6028
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Web应用设置Context Path的方式
举报原因:
原因补充:

(最多只允许输入30个字)