在tomcat安装好后,只要把你的web项目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其实还有种方法就是设定虚拟目录,即把项目的目录映射到tomcat中。这样做即可以不用重复的部署,节约时间,而且给开发人员带来方便。
方法如下:
1,找到%TOMCAT_HOME%/conf/server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码:

<Context path="" reloadable="true" debug="0" docBase="E:/workspace/test/bin" workDir="E:/workspace/test/work" crossContext="true" >
</Context>

<Context path="/test" docBase="E:/aaa" debug="0" reloadable="true"/>

docBase是实际路径,这里一般写一个绝对的磁盘路径,当然也可以写 相对路径,相对路径是相对于tomcat安装目录的webapps目录的,通常设置虚拟目录的目的是将tomcat的安装和项目的保存分开,所以这里建议你使用磁盘绝对路径,并且这个磁盘路径不时在tomcat安装目录下。workDir是tomcat运行是对JSP文件做编译后的文件,这个文件最好也是分开。
path为虚拟路径,访问时的路径,注意:一定要加“/”。值得注意的是:path可以为 "/"那么访问“IP:端口”就可以访问到布置的工程,如果为"/test",那么必须得访问“IP:端口/test”才能访问到,我建议采用第一种方法。不然访问每个工程都得有个虚拟路径,看上去不舒服。可能你会想到如果我有多个工程怎么办?是不是一定得取几个虚拟路径,如果你用一个IP的话那是肯定的。但是如果你把机器多设置几个IP,那么就行了,每个工程占用一个IP,这样层次结构更加清晰。
debug建议设置为0,reloadable设置为true。
我的习惯是将path设置为path=""因为这样可以在tomcat启动时就可以加载首页项

2,如果在测试中出现404的错误,如果前面配置没有错,可能就是在%TOMCAT_HOME%/conf/web.xml文件中把虚拟路径显示目录给禁止啦,此时可以在web.xml文件中找到
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
将listings的value改为true,然后重新启动tomcat,在输入url,测试成功!

3,如果项目开发完成,准备部署在服务器上时,记住要把第三步中web.xml文件中参数listings的值改为false,这样可以避免把项目的部署路径呈现给使用者!
具体如下:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>

4、访问多台机器文件问题:

文件太多的时候必然需要跨目录或跨盘,这个时候就需要用到虚拟目录,但是Tomcat 不能直接跨Context 进行Forward。
例如:
用 Context 配置映射了虚拟目录 data1, 目录下有文件 123.txt
如果要在 / 下直接 forward 到 "/data1/123.txt" 是不行的,会提示 404 找不到文件。

那么就需要灵活应用Tomcat 虚拟目录映射:
在 D:/Tomcat/conf/Catalina/test 目录下(test为Server.xml配置文件中的域名) 增加 一个 xml 文件,(test要创建),创建之后加上这个样一个XML文件(这里就取名为data1.xml):
<Context docBase="//IP/data1" reloadable="false" crossContext="true" />
并且修改 Server.xml 中的 Context 允许 crossContext="true"。
那么就可以在工程中访问另外台机器上的文件(当然这个台机器需要共享访问的文件)。例如:
<img src="/data1/001/002/003.png">,来显示图片。

问题又来了,就是权限问题,共享的文件不想给任何人访问的话,就需要设置共享权限,那么就需要配置tomcat的权限:
1、在共享的机器上设置tomcat帐户和密码,并加入共享权限。
2、然后在放tomcat的服务器上,设置相同的tomcat帐户和密码。
3、在tomcat服务上配置登录账号和密码。

TOMCAT虚拟路径配置的更多相关文章

  1. 通过配置tomcat虚拟路径配置站点的静态资源

    我们常常站点中会提供给用户上传文件.图片.视频或者诸如为了提高性能生成的静态文件等存储在站点应用中.但如果静态资源文件和项目文件在同一个目录下,当我们重新部署文件时,war重新解压会导致静态资源文件的 ...

  2. 【IDEA】IDEA中配置tomcat虚拟路径的两种方法

    首先要确保使用的是本地的tomcat服务器,而不是maven插件. -------------------------第一种:使用IDEA工具自动配置(推荐这种)------------------- ...

  3. Tomcat虚拟目录配置方法及原理

    tomcat 安装好之后,只需要把你的程序包放到$Tomcat_Home$/webapps下就可以直接使用了.这样会使webapps越来越大就需要设置虚拟目录: 1.单个应用设置: 在<Host ...

  4. Linux下设置Tomcat虚拟路径

    问题描述:我在上传图片的位置不在Tomcat服务器下,用户无法访问 解决方案:配置Tomcat虚拟路径使用户可以访问图片 配置Tomcat # cd /usr/local/apache-tomcat- ...

  5. 48-设置tomcat虚拟路径的两种方法(Eclipse、tomcat、IDEA)

    设置tomcat虚拟路径的两种方法(Eclipse.tomcat.IDEA) 三种方式设置虚拟服务器路径如果我们要实现一个上传文件的功能,但是又想要上传的文件不会随着自己web服务器的重启而不能访问了 ...

  6. Tomcat虚拟路径访问本地图片失败的问题

    开发过程中,把图片放在本地一个磁盘的路径下.网上搜了下,可以使用tomcat虚拟路径访问本地图片. 这样就不用把图片放在整个项目的webapp目录下了. 1.找到tomcat的server.xml文件 ...

  7. IDEA 设置 TOMCAT 虚拟路径

    今天在使用 IDEA 配置 TOMCAT 虚拟路径时一直报错,最终解决方式整理如下: 一.使用 Tomcat 自己的虚拟路径 1.在 Tomcat9\conf 目录下找到 server.xml 文件, ...

  8. weblogic虚拟路径配置

    首发地址 https://blog.leapmie.com/archives/344/ 前言 weblogic的虚拟路径配置有两种: 一种是在项目下配置,即在weblogic.xml中配置,该方法配置 ...

  9. tomcat虚拟路径的几种配置方法

    一般我们都是直接引用webapps下面的web项目,如果我们要部署一个在其它地方的WEB项目,这就要在TOMCAT中设置虚拟路径了,Tomcat的加载web顺序是先加载 $Tomcat_home$\c ...

随机推荐

  1. mysql的递归(使用函数)

    getChildList: BEGIN #声明两个局部变量 ); ); #初始化局部变量 SET sTemp = ''; #调用cast函数将int转换为char SET sTempChd = roo ...

  2. Datatable筛选数据

    DataRow[] drArr = dt.Select("C1=’abc’");//查询 还可以这样操作: DataRow[] drArr = dt.Select("C1 ...

  3. oracle11g安装与拆卸

    Oracle 11g安装 1.解压下载的包,然后进入包内,点击setup.exe开始安装 . 2.出现如下:一般把那个小对勾取消,点击下一步进行, 弹出下图这个后点'是' 3.下图后,选择创建和配置数 ...

  4. Java基础2一基础语法

    1.标识符 定义:在Java中给类名.方法名.包名,参数名等命名时使用的字符序列即标识符 规则: 由字母.数字.下划线和$符组成 不能以数字开头 长度无限制 严格区分大小写 不能是java中的保留关键 ...

  5. css 画三角形

    <div class='triangle-rihgt'></div> <div class='triangle-top'></div> <div ...

  6. 【Oracle】删除undo表空间时,表空间被占用:ORA-30042: Cannot offline the undo tablespace

    特别注意:此办法只用于实在没有办法的时候,因为需要加入oracle中的隐含参数,慎用!!! 1. 先查一下是什么在占用undo SYS@ENMOEDU>select segment_name,o ...

  7. IDEA导入个性化主题的方法

    IDEA的主题可以自定义,也可从网上下载 http://www.riaway.com/theme.php 喜欢的主题,保存到本地. 主题是一个jar的包.导入到idea的方法如下: file –> ...

  8. 2 Selenium3.0+Python3.6环境搭建

    [说明] 再次搭建一次环境,是因为遇到怎么都打不开IE的问题了,环境信息为:Selenium3.0+Python3.6+win7+ie10 [搭建步骤] 1.下载Python3.6,并点击安装和配置环 ...

  9. 04--深入探讨C++中的引用

    深入探讨C++中的引用           引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确.灵活地使用引用,可以使程序简洁.高效.我在工作中发现,许多人使用它仅仅是想当然,在某些微 ...

  10. 构造定律(constructal law)-构造定律作为第二个时间箭头,将和热力学第二定律一道将宇宙推向无序。

    优化系统结构,使信息和物质流在结构内的流动更畅通. 构造定律(constructal law) 由Adrian Bejan于1995创立的构造定律(constructal law):   For a ...