2024年5月6日发(作者:)
Tomcat6配置虚拟路径,部署多应用
找到conf/
reloadable="true">
tomcat中虚拟路径不支持中文路径,所以上面的设置后tomcat不能启动
Context指上下文,实际上就是一个web项目;
path是虚拟目录,用于浏览器防问的URL,访问的时候用localhost:8080/web/*.jsp
访问网页
docBase是网页在硬盘上的实际存放位置的根目录,映射为path虚拟目录;
debug的值表示是否调试。
reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步。
Context>元素,每个Web应用必须有唯一的URL路径,这个URL路径在
中的属性path中设定。
path:指定访问该Web应用的URL入口,path必须以 "/" 开头,否则会报错。
docBase:指定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的
WEB-INF/文件的子目录。
打包成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目
录自身了。
部署描述符文件
们如果把一个应用程序部署在webapps文件夹下,但是在该应用程序的WEB-INF
下缺少了文件,仍然可以用浏览器访问到这个网站的内容,这是因为
Tomcat用
目录的默认网页文件:
以上内容是从
站首页。我们可以在
果我们在
而且WEB应用程序得根目录下确实有这么个文件的话,输入WEB应
用路径,不用输入具体的文件URL,系统也会显示的内容,但是如果
在WEB应用程序得根目录下没有这么个文件,Tomcat会返回什么内容
呢???
你可能会想到此时如果没有文件,Tomcat就会查找 录>/conf/中设置的另外三种网站欢迎首页,实则不然。大家可以动手实 验一下,Tomcat这个时候返回的是你输入的路径下的文件列表! tomcat虚拟路径的几种配置方法 摘自:/blog/312046 1. 在.%TOMCAT_HOME%confCatalinalocalhost建立一个xml文件,里面写上 reloadable="true"> 2.打开%TOMCAT_HOME%文件 在 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工程的时间。和开发工具 一起使用可以稍微提高点工作效率。
发布评论