context root确定了Tomcat将那些URL请求转发到Web应用. 如果应用的context root 设置为 myapp,除非存在更为明确context root的Web应用,那么所有 /myapp or /myapp/* 的请求将被转发到你的应用进行处理,. 如果第二个应用context root设置为 myapp/help, 那么 /myapp/help/help.jsp 的请求将转发到第二个应用进行处理,而不是第一个应用。

这个关系同样适用于被称为root context  / 的context root . 当应用被指定为root context, 它将会响应没有被明确context root处理的所有请求.

应用的context root 取决于应用的部署方式. 如果Web应用作为 EAR 包的一部分进行部署, 那么context root 将通过 EAR包里的application.xml 文件中web模块 context-root元素设置. 在下面的例子里, web-client.war应用的context root 设置为 bank.

<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee 
                             http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
    <display-name>JBossDukesBank</display-name>
    <module>
        <ejb>bank-ejb.jar</ejb>
    </module>
    <module>
        <web>
            <web-uri>web-client.war</web-uri>
            <context-root>bank</context-root>
        </web>
    </module>
</application>

对于部署在 EAR 文件以外的Web应用, 可以通过两种方式指定 context root. 第一种方式是在 WEB-INF/jboss-web.xml 文件中指定. 下面的例子给出了部署在EAR文件以外的Web应用的 jboss-web.xml 文件.

<jboss-web>
    <context-root>bank</context-root>
</jboss-web>

最后,如果没有指定 context root , Web应用将使用 WAR 文件的文件名作为context root. 对于 web-client.war, context root 将被缺省设置为 web-client. 唯一的例外是特殊的名称 ROOT. 为了部署 root context的Web应用, 只需要将其命名为 ROOT.war,但是JBoss 已经在 jbossweb-tomcat55.sar 目录中包含了ROOT.war. 因此你需要将JBoss自带的ROOT.war删除或者改名.

采用context root 作为WAR文件的名称是一个非常好的实践,这不仅减少了管理的配置设置数量,而且将会使Web应用的用途更加明确,从而提高了可维护性。.

https://www.cnblogs.com/guoxu/articles/1734044.html

https://docs.jboss.org/jbossas/guides/webguide/r2/en/html/ch06.html

设置web应用的 context root (转)-- web project setting的更多相关文章

  1. Eclipse拷贝动态的web工程修改context root的值

    Eclipse拷贝动态的web工程修改context root的值 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. context root的名称一般是我们访问URL时的PATH路径 ...

  2. spring项目的 context root 修改之后,导致 WebApplicationContext 初始化两次的解决方法

    修改了 spring web 项目的 context root 为 / 之后,在启动项目时,会导致 WebApplicationContext  初始化两次,下面是其初始化日志: 第一次初始化: 四月 ...

  3. Myeclipse修改项目名称发布后web Context root名称无法修改

    选中项目,右键--->Properties--->在搜索框搜索:deployment as  然后点击显示出的搜索项.修改右侧视图的Web Context Root名称即可. 如图:

  4. MyEclipse2017修改Web Context Root

    1,复制一个已经存在的项目,并修改项目名 2,选中项目右键选择properities,打开. 但是这里的web context root无法修改 3,删除web显示properties的所有属性,输入 ...

  5. java web中各种context的关系

    我举得这篇文章解决了我的很多疑惑,理清了我以前不太清楚的Context关系,读懂这篇文章很有助于理解源码, 原文链接在这里:https://www.jianshu.com/p/2537e2fec546 ...

  6. web应用中webapp. root重用问题解决方案

      同一个tomcat服务器里面部署两个JavaEE项目,都是用了log4j做日志.并且web.xml里面都监听了日志信息. 启动服务的时候报错. 于是在web.xml添加以下代码:   <di ...

  7. org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.context.ContextLoaderListener

    org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.context.ContextLoaderLi ...

  8. ERROR .web.servlet.DispatcherServlet - Context initialization failed

    自己创建了一个SSM 项目,使用maven的tomcat7 运行报错 ERROR .web.servlet.DispatcherServlet - Context initialization fai ...

  9. 把 java web application deploy 到 root

    http://stackoverflow.com/questions/5328518/deploying-my-application-at-the-root-in-tomcat You have a ...

随机推荐

  1. 认识一下microbit扩展板robotbit

    在我们买到的套件中,另一块叫robotbit扩展板,所谓扩展板,是把控制板上的针脚引出来,方便我们扩展驱动连接电机.舵机.及各种传感器以展功能. 介绍如下 :下面 反面: 官方文档:http://le ...

  2. [转帖]什么是IOC(控制反转)、DI(依赖注入)

    什么是IOC(控制反转).DI(依赖注入) 2018-08-22 21:29:13 Ming339456 阅读数 20642   原文地址(摘要了部分内容):https://blog.csdn.net ...

  3. day58——模板继承、组件、自定义标签和过滤器、inclusion_tag、静态文件配置、url别名和反向解析、url命名空间

    day58 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承它使用) 2. 在母版中定义block块(可以定义多个,整个页面任意位置) {% block co ...

  4. Python 文件编码问题解决

    最近使用python操作文件,经常遇到编码错误的问题,例如: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbe in position ...

  5. k8s-Namespace(命名空间)

    k8s-Namespace(命名空间) Namespace(命名空间)是Kubernetes系统中的另一个非常重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同 ...

  6. 更改collation批处理

    DECLARE @zcreate_index_sql NVARCHAR(max); SET @zcreate_index_sql = N''; SELECT @zcreate_index_sql = ...

  7. 命令源码文件——Golang

    源码文件又分为三种,即:命令源码文件.库源码文件和测试源码文件,它们都有着不同的用途和编写规则. 命令源码文件:1.独立程序的入口2.属于main包,包含无参数和无结果的main函数3.main函数执 ...

  8. 用Java访问带有Kerberos认证的HBase

    程序代码实例如下:    package com.hbasedemo; import java.io.IOException; import org.apache.hadoop.conf.Config ...

  9. ansible超详细使用指南

    在工作中有用到ansible用于自动部署和环境配置,这里整理了一份很详尽的使用指南,如果有用到的可以看看.关于使用ansible自动部署一个网站和docker化,将在下一篇文章中介绍,敬请期待.文章内 ...

  10. 正则-RegExp

    正则-RegExp 正则,是一条规则,用于检验字符串格式,目标就是字符串: 只要是表单提交的数据都是字符串 定义: 1,var reg=/格式/ 2,var reg=new regexp() 方法: ...