Tomcat虚拟路径的配置

转载 2015年11月19日 21:51:14
在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。


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,右键属性,标签第二项就是,如图:

Maven项目部署到服务器如何设置访问路径-配置虚拟目录

一、概念Tomcat的虚拟目录即在服务器上另选择一个webapps之外的文件夹存放项目文件,通过配置Tomcat的属性,实现访问。 注:未配置虚拟目录,则只能访问webapps/ROOT范围内的文件...

Eclipse下通过Maven的Tomcat插件运行Web工程的配置,包括启用https

摘要: Eclipse 下通过 Maven 的 Tomcat 插件运行Web工程的配置,可以选择使用 tomcat6或7,同时加上了启用https的配置。 引用说明 Maven Plugin配置...

tomcat 的maven插件,配置端口和访问路径

刚开始我引用的是apache自己出的插件包,配置是这样的: org.apache.tomcat.maven tomcat6-maven-plugin 2.1 http://localh...
  • yuzjang
  • yuzjang
  • 2014年12月10日 10:18
  • 6170

tomcat配置虚拟路径

  • 2013年12月03日 17:15
  • 170B
  • 下载

Tomcat7配置虚拟路径-部署多应用-自动部署

找到conf/server.xml  tomcat中虚拟路径不支持中文路径,所以上面的设置后tomcat不能启动  contex指上下文,实际上就是一个web项目;  path是虚拟...

tomcat 虚拟路径配置

tomcat虚拟路径的配置有四种方法: 1. 在.%TOMCAT_HOME%\conf\Catalina\localhost建立一个xml文件 里面写上(对于Tomcat6版本及其以上,需要自己创建...

Tomcat配置虚拟路径,使上传文件与服务器分离

遇到问题介绍:项目中上传文件到服务器。如果使用tomcat下的目录作为上传图片的路径,则每次重启服务器图片将消失。【因为开发工具的项目中没有该图片,每次重启服务器重新部署的时候将会删除开发工具的项目中...
  • J080624
  • J080624
  • 2017年02月08日 10:26
  • 3049

Tomcat6虚拟路径的配置

例如Tomcat6安装在D:\Program Files\Tomcat 6.0 1.编辑文件D:\Program Files\Tomcat 6.0\conf\server.xml文件:  ...

tomcat 内存优化,虚拟路径配置,解决内存溢出的办法---记住这么几点就无敌了

1.配置内存: linux修改TOMCAT_HOME/bin/catalina.sh JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms51...

Tomcat配置虚拟路径,使上传文件与服务器分离

遇到问题介绍:项目中头像上传,上传图片到服务器。如果使用tomcat下的目录作为上传图片的路径,则每次重启服务器图片将消失 遇到问题:使用服务器物理磁盘的D:\upload路径存储文件,访问请求...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat虚拟路径的配置
举报原因:
原因补充:

(最多只允许输入30个字)