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文件夹的 conf\catalina\localhost增加project .xml文件
- docBase是项目文件夹的web-inf文件夹的上一层目录
- workDir是指Tomcat解析Jsp转换为Java文件,并编译为class存放的文件夹,设置 在项目文件夹里面,可以避免移植到其他地方首次读取jsp文件需要重新解析 。一般格式:项目文件夹\work
- reloadable是指可以重新加载,一般设置为true,方便使用,不需要经常重启Tomcat。
为什么要不修改server.xml呢?在Tomcat6的doc帮助文档中,官方是不提倡修改 server.xml来添加虚拟目录的!***************
又发现了一篇不错的文章
转自:http://blog.csdn.net/yiluoak_47/article/details/12503737
首先,我们要知道虚拟目录的好处。虚拟目录不同于原始的Tomcat运行方式,原始的方式是把项目拷贝到webapps下,然后启动tomcat,就可以访问webapps下的项目。我们使用eclipse配置tomcat,实际上的原理也是这种方式。
但这种方式的弊端在于,webapps下的项目不是最新的动态,一旦我们修改了eclipse工作目录下的项目,并不能立刻的反应到 tomcat/webapps下。所以我们不得不编译项目后,清除webapps下的缓存,甚至要移除项目,然后在放进去。这样来回折腾,大大降低了工作 效率。我们只要改动一个小地方,就要重复的进行一次上面的工作。
聪明的人,总是懒惰的。我们想到能不能改变一下当前的方式,有一种更好的方式呢?这时候,虚拟目录就浮现出来。
虚拟目录的作用是把Web的发布目录直接定位到eclipse工作目录下,实现实时更新,实时使用。
要配置虚拟目录,我们需要在Tomcat/conf/catalina/localhost下根据项目命名“项目名.xml”,里面的内容:
<?xml version="1.0" encoding="UTF-8"?> <Context path="/cecb2b" docBase="E:\workspace\cecb2b\webContent" workDir="E:\workspace\cecb2b\word" reloadable="true" debug="1"></Context>
属性解释:
path:网络访问名
docBase:项目实际路径
wordDir:指定jsp转换为Java的存放目录。这样配置,免得移植的时候重新编译jsp
reloadable:指定当class文件变化的时候,是否重新加载
debug:是否是调试模式
这样,Web发布目录就直接指向了eclipse工作目录下的项目。我们在eclipse下修改代码,只要一构建,tomcat自动重新加载。我们就不用来回移除项目了。
最后,我们还可以修改cong/web.xml中的:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
把false改为true。
最后,我们需要注意的是,用eclipse创建Web项目,一定要是动态Web项目,然后在修改项目的一些属性:
1、去掉Project--Build Automatically(自动构建)
2、属性--Builders--除了JavaBuilder全部勾去(这样项目构建速度大大加快)。
3、属性--javaBuild Path--Source--项目名/WebContent/WEB-INF/classes
注意,tomcat7.0和以往不同:
<Context path="/vsearch" docBase="E:/workspace/vsearch2012/WebContent" reloadable="true" debug="5" crossContext="true" />
需要注意,xml文件名必须和path的名相同!
引用自:http://blog.csdn.net/zjml2412/article/details/49962939
tomcat配置项目虚拟路径的更多相关文章
- 关于tomcat配置了虚拟路径,但是在Idea中无法生效的问题
1. 确认 tomcat 的server.xml 文件中配置的虚拟路径是否正确 其中,path表示访问的虚拟路径,docBase表示真实路径 2. Idea 服务器配置中是否勾选 “Deploy ap ...
- tomcat 配置图片虚拟路径不起作用解决办法
最近在做一个小项目,用到了图片上传服务器,以前尝试过实现这个功能Demo,虽然基本功能没有问题,但是很不完善,当时也有在博客记录, 地址如下: http://www.jb51.net/article/ ...
- php中如何配置项目虚拟路径
php虚拟目录的设置在apache目录下打开conf->httpd.conf文件,找到<IfModule dir_module>,在</IfModule>后面添加如下代码 ...
- IDEA 启动项目,tomcat中配置的虚拟路径无法使用
有时候,使用idea启动项目,非动静分离项目,直接根据图片url地址显示图片,会发现图片无法显示,tomcat中配置的虚拟路径无法使用,这时候需要配置idea.选择路径,然后给与一个访问名就行了.
- 给tomcat配置外部资源路径(应用场景:web项目访问图片视频等资源)
对于一个web项目来说,除了文字之外,图片,视频等媒体元素也是其重要的组成部分.我们知道,web项目中如果用到大量的图片.视屏的资源,我们 通常的做法是只在数据库中存储图片.视频等资源的路径,web项 ...
- Tomcat 配置WEB虚拟映射 及 配置虚拟主机
Tomcat 配置WEB虚拟映射 及 配置虚拟主机 配置WEB虚拟映射文件夹有三种方法例如以下: 第一(要重新启动server的): 打开路径 Tomcat 6.0\conf 下的 server.x ...
- Tomcat通过配置一个虚拟路径管理web工程
关于虚拟路径.学问javaweb训练课程,如今,鉴于这种情况下老师. 当我们的项目,当在不同的文件夹项目.我们如何使用tomcat去管理web工程. 教师提出的解决方案是 使用虚拟路径方式,并按照实施 ...
- Tomcat和weblogic虚拟路径的配置
背景:上传的图片和web应用不在同个路径里,例如web应用在D盘,上传图片1.jpg在E:\upload\img目录里,这时就需要配置虚拟路径后,才能显示图片. Tomcat和WebLogic的不同配 ...
- 免配置环境变量使用Tomcat+设置项目主页路径为http://localhost:8080+修改tomcat端口号
一.免配置jdk JAVA_HOME和tomcat CATALINA_HOME环境变量使用tomcat 众说周知,使用tomcat需要有java环境,一般情况下需要配置jdk和tomcat的路径到w ...
随机推荐
- ASP.NET中使用Entity Framework开发增删改查的Demo(EF增删改查+母版页的使用)
这里更多的是当作随身笔记使用,记录一下学到的知识,以便淡忘的时候能快速回顾 这里是该项目的第二部分, 第一部分 第二部分(当前部分) 大完结版本 此Demo是新建了一个音乐类型的web,然后使用母版页 ...
- Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
804. 唯一摩尔斯密码词 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", " ...
- CSDN怎么跳转到指定的位置
位置1 只需要给上面的链接和下面的id一致即可 位置1
- Java实现 LeetCode 12 整数转罗马数字
12. 整数转罗马数字 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 ...
- java实现控制台表格
画表格 在图形环境中很容易做出漂亮的表格.但在控制台环境中就比较困难了.有的时候可以用一些符号大略地模拟:(word文档中可能不整齐,拷贝到记事本中看) +-------+------+ |abc | ...
- Java实现 蓝桥杯 历届试题 连号区间数
问题描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R个元素)递增 ...
- python2.7 函数的参数学习
1.默认参数 默认参数可以简化函数的调用. 设置默认参数时,有几点要注意: 一.必选参数在前,默认参数在后,否则Python的解释器会报错. 二.当函数有多个参数时,把变化大的参数放前面,变化小的参数 ...
- 不知道这些,你以为你还能devops?
一.什么是devops 在DevOps之前,从业人员使用瀑布模型或敏捷开发模型进行软件项目开发:瀑布模型或顺序模型是软件开发生命周期(SDLC)中的一种开创性方法,在这个模型中,软件开发成为一个线性过 ...
- 【SEED Labs】DNS Rebinding Attack Lab
Lab Overview 实验环境下载:https://seedsecuritylabs.org/Labs_16.04/Networking/DNS_Rebinding/ 在这个实验中模拟的物联网设备 ...
- 上海开发票/v电13543443967
关于事项:Iㄋ5一★4З44一★ㄋ9.б7开发票的准备资料必须要公司名称个人的话就用个人名字和身份证去税务柜台申请办理!公司的话要提供公司全称就是营业执照上的名称,纳税人税号,如果是开普通增值税发票的 ...