https://tomcat.apache.org/tomcat-8.5-doc/deployer-howto.html#A_word_on_Contexts

例如你的程序 名字是hello端口是80  这时候你要访问你的程序 就要用 localhost/hello 来访问了。

但是怎么直接用 localhost来访问呢?就需要进行tomcat 的配置了呢

看以下配置:tomcat里面conf 里的server.xml 最下面

<Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

<!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

<!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->
  
<Context docBase="webapps/hello" path="/hello"  reloadable="true" ></Context>
<Context docBase="webapps/hello" path="/"  reloadable="true" ></Context>
                <Context docBase="webapps/cas" path="/cas"  reloadable="true" ></Context>
       </Host>
   这里原来带有的appBase是有值的 是webapps 这里的意思 是加载webapps下面所有的项目,等于是只要你放到webapp里面的项目都会被加载,(这里我就不写了 我在下面写了配置让他加载)

然后你自己可以写 context来写你的项目,docBase可以写绝对地址也可以写相对地址,相对地址是相对于你的tomcat来说的,这里 写为webapps/hello意思就是 webapp下面的 hello;

这里要说一下 启动的时候加载两遍的问题 当你appBase里面写 过webapps 的话 他会先自动加载一所有的然后加载你配置的。所以你不想他加载两遍 你就可以 在appBase里面什么也不写。

但是这样会遇到一个问题,就是 当我用struts跳转的时候,你发现 不不配置 <Context docBase="webapps/hello" path="/hello"  reloadable="true" ></Context>这个的时候  你的项目会找不到struts的返回页面,这就是弊端,你想通过不输入项目名字访问项目,但是你的程序会找不到result,所以你还得写上原来的映射,这样你访问的首页是通过<Context docBase="webapps/hello" path="/"  reloadable="true" ></Context>这个访问的,但是里面的一些跳转是根据<Context docBase="webapps/hello" path="/hello"  reloadable="true" ></Context>他来跳转的。所以还是加载了两遍,。这里要根据你的项目来决定。

、、、、、、、、、、、、、、、、、、、

注意:

<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">

<!-- <Context docBase="webapps/hello" path="/hello" reloadable="true" ></Context> -->
<Context docBase="fxgk_test" path="/fxgk2" reloadable="true" ></Context>

这里appBase已经设置为webapps,所以Context里面的配置不需要加前缀 webapps/ 了;

这里的 appBase 可以设置为 其它目录 ,比如 webapps2 那么 项目的所在路径就相应的改为 了 E:\tools2\apache-tomcat-8.5.31\webapps2\web上下文;

tomcat如何在server.xml中配置contexts的更多相关文章

  1. tomcat启动了server.xml中没有配置的项目

    在tomcat的conf目录下的server.xml文件中没有配置hczm_struts项目,但在eclipse启动tomcat调试时,一直启动hczm_struts项目. 经检查,发现conf\Ca ...

  2. JavaWeb 如何在web.xml中配置多个servlet

    15:34:42 <servlet> <description></description> <display-name>ListMusicServle ...

  3. tomcat访问manager报404;server.xml中配置了Context path

    <Context path="" docBase="crm" debug="0" reloadable="true" ...

  4. JNDI在server.xml中的配置(全局和局部的)

    总结: 全局就是在数据源server.xml中配置,然后通过和项目名相同的xml来进行映射.对所有的项目都起作用.那个项目需要就在对应的tomcat下配置一个与项目名相同的xml映射文件. 局部的就是 ...

  5. tomcat 的配置文件 server.xml 详解

    server.xml位于$TOMCAT_HOME/conf目录下,作为整个 tomcat 服务器最核心的配置文件,server.xml的每一个元素都对应了 tomcat中的一个组件,通过对xml中元素 ...

  6. tomcat的配置文件server.conf中的元素的理解

    tomcat的配置文件server.conf中的元素的理解 tomcat作为一个servlet服务器本身的配置文件是tomcat_home/conf/server.conf,这个配置文件中有很多元素, ...

  7. Tomcat server.xml中Connector配置参数详解

    Tomcat中Connector常用配置 Tomcat中server.xml有些配置信息是需要我们了解的,最起码知道如何进行简单的调试. <Connector port="8080&q ...

  8. Tomcat下server.xml中context介绍

    conf/Context.xml是Tomcat公用的环境配置;若在server.xml中增加<Context path="/test" docBase="D:\te ...

  9. eclipse配置tomcat后修改server.xml文件(如编码等)无效问题

    我们用eclipse配置好tomcat后,在处理中文乱码或是配置数据源时,我们要修改Tomcat下的server.xml等文件. 修改后重启Tomcat服务器时发现xml文件又被还原了. 因为Tomc ...

随机推荐

  1. 深入学习 FutureTask

    原文出处: 天凉好个秋 第一部分:What 在Java中一般通过继承Thread类或者实现Runnable接口这两种方式来创建多线程,但是这两种方式都有个缺陷,就是不能在执行完成后获取执行的结果,因此 ...

  2. JSON数据之使用Fastjson进行解析(一)

    据说FastJson是目前最快的解析Json数据的库,而且是国人开发出来的开源库.顶一下,付上官方网址:http://code.alibabatech.com/wiki/pages/viewpage. ...

  3. iOS:使用NSRegularExpression正则去掉一串字符串中所有的特殊字符和标点

    一.介绍 在开发中,有时我们需要对一串字符串做特殊的处理后再使用,例如判断是不是特殊字符.去掉所有的特殊字符等.做处理的方法有很多,最简单的就是for循环遍历一个个的比较处理,最好用的应该是使用正则表 ...

  4. redis StackExchange 主备 实现 demo

    网上关于redis高可用基本都是用redis-sentinel 哨兵 或者 redis cluster 集群来实现, 但是有没有更简单的方式,比如我现在就只有2个redis实例.我试验的结果是我们可用 ...

  5. Android之官方导航栏ActionBar

    一.ActionBar概述 ActionBar是android3.0以后新增的组件,主要用于标示应用程序以及用户所处的位置并提供相关操作以及全局的导航功能.下面我们就看看如何使用ActionBar,真 ...

  6. mysql主备配置方法

    1. 选择两台机器(这里选的centos6.5 final),安装相同版本的mysql yum install mysql ; yum install mysql-server; 2. 启动mysql ...

  7. StringBuilder在高性能场景下的正确用法

    转载:<StringBuilder在高性能场景下的正确用法> by 江南白衣 关于StringBuilder,一般同学只简单记住了,字符串拼接要用StringBuilder,不要用+,也不 ...

  8. 外网IP监测上报程序(使用Poco库的SMTPClientSession发送邮件)

    目录 IPReport 项目介绍 编译说明 安装使用说明 获取外网IP方式 邮件发送关键代码 IPReport 代码地址https://gitee.com/solym/IPReport 项目介绍 外网 ...

  9. 基于Ubuntu部署 memcached 服务

    系统要求:Ubuntu 16.04.1 LTS 64 位操作系统 安装并启动 memcached 服务 安装 memcached 使用apt-get安装 memcached sudo apt-get ...

  10. [C++]QString方法集

    QString s =  "hello world"; s. indexOf ( "o" )); //4 s. lastIndexOf ( "o&qu ...