tomcat版本:apache-tomcat-7.0.42

参考:http://blog.csdn.net/pangdingshan/article/details/7214786

一、虚拟根目录

1.    Tomcat 的默认根目录:D:\apache-tomcat-7.0.42\webapps\ROOT

2.    只能有一个默认根目录

3.   一个 默认根目录只能映射一个 “文件系统目录”

启动Tomcat后,在浏览器地址栏输入:http://localhost:8080/,访问的其实就是tomcat虚拟根目录下的index.jsp文件。

二、tomcat怎么设置了虚拟根目录?

在D:\apache-tomcat-7.0.42\conf目录下的server.xml文件的Host元素中,name属性:主机名称,appBase属性:基准目录 ,基准目录下的Root 目录被自动设置为根目录

1
2
3
4
<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true">
    <!-- ... -->
</Host>

三、如果修改虚拟根目录?

在Host元素里,添加Context元素:

1
<Context path="" docBase="D:\test"></Context>

path: 为空代表网站根目录

docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的

此时再访问:http://localhost:8080/,出现404错误页面。因为在test目录下存在1.html文件,在地址栏输入:http://localhost:8080/1.html,可以访问成功。

如果想即使不输入1.hmtl也能默认访问该文件,则需修改:D:\apache-tomcat-7.0.42\conf目录下web.xml文件的<welcome-file-list>元素,将index.hmtl改为1.html,那么访问http://localhost:8080/时就会默认访问1.html

四、虚拟目录(根目录的子目录)

  • 可以设置多个虚拟目录

  • 一个文件系统目录(docBase)可以被映射成多个虚拟目录(path),即不同的path可以对应相同的docBase

  • 虚拟目录名称(path)可以是多级目录结构的形式

  • 一个虚拟目录就是一个独立的web应用程序

五、如何设置虚拟目录?

第1种:修改server.xml(建议使用第二种)

在server.xml文件的Host元素中,嵌套下面两条语句:

1
2
<Context path="/test1" docBase="D:\test" reloadable="true"></Context>       
<Context path="/test2/test" docBase="D:\test" reloadable="true"></Context>

path: 表示虚拟目录的名称(前面的正斜杠“/”可以省略)

docBase:可以设置绝对路径,也可设置相对路径,相对路径是相对 appBase 属性所设的目录而言的

reloadable:表示修改应用程序后,tomcat自动帮你部署(reload),不用重新启动

(注意,设置debug属性后,在tomcat6.0.39不会出现警告,而在tomcat7.0.42会出现警告)

添加后重启tomcat

输入:http://localhost:8080/test1/1.html,可以成功访问。

输入:http://localhost:8080/test2/test/1.html,也可以成功访问

上面例子也说明:一个文件系统目录(docBase)可以被映射成多个虚拟目录(path),虚拟目录名称(path)可以是多级目录结构的形式(/test2/test)

第2种:不修改server.xml,http://my.oschina.net/liangzhenghui/blog/184088

Tomcat虚拟根目录与虚拟目录的更多相关文章

  1. Tomcat的部署、虚拟主机及优化

    Tomcat的部署.虚拟主机及优化 文章目录 Tomcat的部署.虚拟主机及优化 前言 1.Tomcat的名称由来 2.Apache Tomcat 5-7版本差异 2.1Apache Tomcat5. ...

  2. IDEA 启动项目,tomcat中配置的虚拟路径无法使用

    有时候,使用idea启动项目,非动静分离项目,直接根据图片url地址显示图片,会发现图片无法显示,tomcat中配置的虚拟路径无法使用,这时候需要配置idea.选择路径,然后给与一个访问名就行了.

  3. tomcat通过tomcat 安装根目录下的conf-Catalina-localhost目录发布项目详解

    tomcat通过conf-Catalina-localhost目录发布项目详解   Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目 ...

  4. jsp虚拟路径与虚拟主机

    配置虚拟路径 方式一: 在Tomcat根目录下的webapps就是一个虚拟路径,conf目录下的server.xml文件里配置 //默认的虚拟路径 <Engine name="Cata ...

  5. Linux根目录下各个目录的用途及含义

    Linux根目录下各个目录的用途及含义 Linux ./bin 重要的二进制 (binary) 应用程序,包含二进制文件,系统的所有用户使用的命令都在这个目录下. ./boot 启动 (boot) 配 ...

  6. Linux中Postfix虚拟用户及虚拟域(六)

    Postfix基于虚拟用户虚拟域的邮件架构 上图是一个几乎完整的邮件系统架构图,这里基于Mysql数据库进行用户认证,不管是Postfix.Dovecot.webmail都需要去Mysql数据库中进行 ...

  7. Tomcat学习之二:tomcat安装、配置及目录文件说明

    我们看到tomcat目录/bin文件夹里有个tomcat6w.exe,顾名思义就是tomcat以window方式显示控制台.第1次点击打开它时候,可能会提示:tomcat指定的服务未安装,此时我们可以 ...

  8. 用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载

    用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载,将一个完整的项目进行展示,主要有以下几个部分: 1.servlet部分   Export 2.工具类:TxtFileU ...

  9. tomcat中如何禁止列目录下的文件

    tomcat中如何禁止列目录下的文件在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下: <servlet> <servlet ...

随机推荐

  1. Angular 学习笔记 (Material Select and AutoComplete)

    记入一些思考 : 这 2 个组件有点像,经常会搞混. select 的定位是选择. 目前 select 最糟糕的一点是 not search friendly. 还有当需要 multiple sele ...

  2. javascript里文字选中/选中文字

    一.获取/清除选中的文字 //获取选中的文字 document.getElementById("get").onclick = function () { var txt = wi ...

  3. laravel 资源篇

    转自:https://github.com/qianyugang/learn-laravel # Learn-Laravel — 学习资料和开源项目集 ## Laravel 学习资料 ### 官方网站 ...

  4. [poj P2411] Mondriaan's Dream

    [poj P2411] Mondriaan's Dream Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 18023   A ...

  5. SQL Server-执行计划教会我如何创建索引

    先说点废话 以前有 DBA 在身边的时候,从来不曾考虑过数据库性能的问题,但是,当一个应用程序从头到脚都由自己完成,而且数据库面对的是接近百万的数据,看着一个页面加载速度像乌龟一样,自己心里真是有种挫 ...

  6. Redis for linux安装配置之—-源码安装

    一‘redis单实例安装配置1.下载redis源码压缩包,并将其上传至服务器/usr/local2.解压redis源码压缩包  # tar -xzvf redis-3.2.12.tar.gz3.进入r ...

  7. mysql安装和启动

    1.在cmd的bin目录执行 mysqld --initialize-insecure程序会在动MySQL文件夹下创建data文件夹以及对应的文件2.bin目录下执行,mysqld --install ...

  8. 破解 JS(原型)继承

    总体分为四大类:利用空对象作为中介继承.Object.create 继承.setPrototypeOf 继承.拷贝继承 function Animal(name, age) { this.name = ...

  9. css样式 + 特殊符号

    color控制字体颜色 十六进制值 #cc0066: font-size控制字体大小 单位 px / % / em / rem:像素 / 相对于父级元素 / 取决自己使用字体大小 / 取决于根元素ht ...

  10. tensorFlow(四)浅层神经网络

    tensorFlow见基础 实验 MNIST数据集介绍 MNIST是一个手写阿拉伯数字的数据集. 其中包含有60000个已经标注了的训练集,还有10000个用于测试的测试集. 本次实验的任务就是通过手 ...