Tomcat虚拟根目录与虚拟目录
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虚拟根目录与虚拟目录的更多相关文章
- Tomcat的部署、虚拟主机及优化
Tomcat的部署.虚拟主机及优化 文章目录 Tomcat的部署.虚拟主机及优化 前言 1.Tomcat的名称由来 2.Apache Tomcat 5-7版本差异 2.1Apache Tomcat5. ...
- IDEA 启动项目,tomcat中配置的虚拟路径无法使用
有时候,使用idea启动项目,非动静分离项目,直接根据图片url地址显示图片,会发现图片无法显示,tomcat中配置的虚拟路径无法使用,这时候需要配置idea.选择路径,然后给与一个访问名就行了.
- tomcat通过tomcat 安装根目录下的conf-Catalina-localhost目录发布项目详解
tomcat通过conf-Catalina-localhost目录发布项目详解 Tomcat发布项目的方式大致有三种,但小菜认为通过在tomcat的conf/Catalina/localhost目 ...
- jsp虚拟路径与虚拟主机
配置虚拟路径 方式一: 在Tomcat根目录下的webapps就是一个虚拟路径,conf目录下的server.xml文件里配置 //默认的虚拟路径 <Engine name="Cata ...
- Linux根目录下各个目录的用途及含义
Linux根目录下各个目录的用途及含义 Linux ./bin 重要的二进制 (binary) 应用程序,包含二进制文件,系统的所有用户使用的命令都在这个目录下. ./boot 启动 (boot) 配 ...
- Linux中Postfix虚拟用户及虚拟域(六)
Postfix基于虚拟用户虚拟域的邮件架构 上图是一个几乎完整的邮件系统架构图,这里基于Mysql数据库进行用户认证,不管是Postfix.Dovecot.webmail都需要去Mysql数据库中进行 ...
- Tomcat学习之二:tomcat安装、配置及目录文件说明
我们看到tomcat目录/bin文件夹里有个tomcat6w.exe,顾名思义就是tomcat以window方式显示控制台.第1次点击打开它时候,可能会提示:tomcat指定的服务未安装,此时我们可以 ...
- 用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载
用java写一个servlet,可以将放在tomcat项目根目录下的文件进行下载,将一个完整的项目进行展示,主要有以下几个部分: 1.servlet部分 Export 2.工具类:TxtFileU ...
- tomcat中如何禁止列目录下的文件
tomcat中如何禁止列目录下的文件在{tomcat_home}/conf/web.xml中,把listings参数设置成false即可,如下: <servlet> <servlet ...
随机推荐
- nodejs点滴
1.exports与module.exports http://cnodejs.org/topic/5231a630101e574521e45ef8 因为require指向了module.export ...
- C#中Equals和= =(等于号)的比较)
C#中Equals和= =(等于号)的比较) 相信很多人都搞不清Equals和 = =的区别,只是零星的懂一点,现在就让我带大家来进行一些剖析 一. 值类型的比较 对于值类型来说 ...
- android -------- 获取手机设备信息
最近在开发中,需要用到一些系统信息,总结了一下 /** * Created by zhangqie on 2019/2/26 * Describe: 系统工具类 */ public class Equ ...
- SWUST OJ(960)
双向链表的操作问题 /*双向链表的操作问题*/ #include <stdio.h> #include <stdlib.h> typedef struct DLNode { i ...
- Redux和react-redux的学习总结
写在最前面:这段时间一直在看前端方面的东西,之前只是了解HTML,CSS,JS,jQuery,由于公司交代了前端的任务,所以后面又看了Bootstrap,React,Redux,react-redux ...
- 索引(B-树)
前言 本文是在讲述什么样的数据结构适合作为索引,以及其适合作为索引的原因.而阅读本文需要对B树和B+树结构有稍微的理解.以及需要对磁盘操作知识有稍微的了解.对于磁盘操作的相关知识,在文章尾部的链接文章 ...
- caffe drawnet.py 用Python画网络框架
在caffe中可以使用draw_net.py轻松地绘制卷积神经网络(CNN,Convolutional Neural Networks)的架构图.这个工具对于我们理解.学习甚至查错都有很大的帮助. 1 ...
- web app、hybrid app和native app区别
- 2/17 笔记 n:字符串索引、切片、数据转换笔记
切片:顾头不顾尾 s[首:尾:步长] 代码是从上到下依次判断,只要满足一个,就不会再往下走! continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,br ...
- pip3 install mysqlclient 报错 “/bin/sh: 1: mysql_config: not found”的解决方法
执行 sudo apt-get install libmysqlclient-dev, 然后执行 pip3 install mysqlclient 成功.