2024年5月6日发(作者:)

Tomcat6配置虚拟路径,部署多应用

找到conf/

reloadable="true">

tomcat中虚拟路径不支持中文路径,所以上面的设置后tomcat不能启动

Context指上下文,实际上就是一个web项目;

path是虚拟目录,用于浏览器防问的URL,访问的时候用localhost:8080/web/*.jsp

访问网页

docBase是网页在硬盘上的实际存放位置的根目录,映射为path虚拟目录;

debug的值表示是否调试。

reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步。

代表了运行在上的单个Web应用,一个可以有多个<

Context>元素,每个Web应用必须有唯一的URL路径,这个URL路径在

中的属性path中设定。

元素的属性:

path:指定访问该Web应用的URL入口,path必须以 "/" 开头,否则会报错。

docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于

的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定

Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在

WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class

文件被更新的,服务器会自动重新加载Web应用。

在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,

但这样用加重服务器运行负荷,建议在Web 应用的发存阶段将reloadable设为

false。

Tomcat配置虚拟目录:

找到Tomcat根目录下的conf文件夹,打开里面的,把如下语句添加

进Host元素内做为其子元素:

Host元素代表的是web站点,Context元素就代表了该web站点下的虚拟目录。

由于path属性为空串,就代表根目录,即把硬盘上

H:webworkspacewebProjectWebRoot所对应的路径设置为了web根目录。如果

在H:webworkspacewebProjectWebRoot目录下有一个文件,启动Tomcat

后我们可以直接在浏览器中输入如下地址进行访问:localhost:8080/

如果我们这样设置:

那么我们就应该这样来输入访问URL:localhost:8080/demo/

其他的配置虚拟子目录的方式如:

特定目录中的XML文件中包含元素:

Tomcat 5.x的/conf/<引擎名>/<主机名>

元素的appBase属性所设置的应用程序基准目录中的含有

WEB-INF/文件的子目录。

元素的appBase属性所设置的应用程序基准目录中的war文件。

打包成war文件是发布web应用程序的一个很方便的方式,但是在打包的时候

要注意一些问题~~

假如我的程序根文件夹为wartest,其下有一个文件。如果我这样打包:

jar -cvf wartest

然后把生成的复制到webapps目录下。用浏览器访问如下URL:

localhost:8080/testwar/

浏览器会提示404错误,即找不到文件。为什么呢????

我们可能会自以为是的觉得上面的jar命令打包的是wartest下的全部内容,实际

上非也~~~

解压生成的就会发现:下有两个顶层文件夹,其中一个便

是wartest,说明打包的时候把这个根文件夹也包含在内了,所以,我们要访问

到,就应该如下构造URL:

localhost:8080/testwar/wartest/

怎么解决这个问题呢?这样打包就可以了:

jar -cvf -C wartest .

小心不要漏掉了最后面的小圆点!这样生成的就不会包含wartest目

录自身了。

部署描述符文件

/WEB-INF/

/conf/

/conf/保存了所有WEB应用程序的默认设置,所以我

们如果把一个应用程序部署在webapps文件夹下,但是在该应用程序的WEB-INF

下缺少了文件,仍然可以用浏览器访问到这个网站的内容,这是因为

Tomcat用/conf/做为了该网站的默认设置。

目录的默认网页文件:

以上内容是从/conf/中截取的,它设置了三种默认的网

站首页。我们可以在/WEB-INF/中也做类似的设置,如

果我们在/WEB-INF/中作如下设置:

而且WEB应用程序得根目录下确实有这么个文件的话,输入WEB应

用路径,不用输入具体的文件URL,系统也会显示的内容,但是如果

在WEB应用程序得根目录下没有这么个文件,Tomcat会返回什么内容

呢???

你可能会想到此时如果没有文件,Tomcat就会查找

录>/conf/中设置的另外三种网站欢迎首页,实则不然。大家可以动手实

验一下,Tomcat这个时候返回的是你输入的路径下的文件列表!

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

摘自:/blog/312046

1. 在.%TOMCAT_HOME%confCatalinalocalhost建立一个xml文件,里面写上

reloadable="true"> 推荐方式

2.打开%TOMCAT_HOME%文件

之间加入如下代码: myweb" debug="0" reloadable="true"/>

3. 把一个打好的war包放到 %TOMCAT_HOME%webapps ,tomcat会自动发

表为一个web应用的。

crossContext 的含义我没有用过,在网上找来下也没有找到,建议你看看tomcat

的文档应该有的。

debug 应该是调试一个web项目的java代码时,将tomcat服务器和开发工具集

成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是

在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发

工具和服务器不再一台机器上那就需要实现远程调试功能了。

其实在一般java项目开发中都会引入log4j包,用配置的方式在开发过程中输出

调试信息。如果不是有特别要求,不见建议去花时间研究它。

到时reloadable属性的设置有些用处,

当reloadable=true时,相关文件改变,Tomcat先停止web app并释放内存,然后重

新加载webapp。这样以来可以省去手工部署web app工程的时间。和开发工具

一起使用可以稍微提高点工作效率。