1、Tomcat6配置虚拟路径,部署多应用
找到conf/server.xml
2、URL,访问的时候用localhost:8080/web/*.jsp访问网页
docBase是网页在硬盘上的实际存放位置的根目录,映射为path虚拟目录;
debug的值表示是否调试。
reloadable="true"表示你修改了jsp文件后不需要重启就可以实现显示的同步。
3、唯一的URL路径,这个URL路径在
4、lass文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。
在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web 应用的发存阶段将reloadable设为false。
Tomcat配置虚拟目录:
找到Tomcat根目录下的conf文件夹,打开里面的server.xml,把如下语句添加进Host元素内做为其子元素:
5、
Host元素代表的是web站点,Context元素就代表了该web站点下的虚拟目录。
由于path属性为空串,就代表根目录,即把硬盘上H:\webworkspace\webProject\WebRoot所对应的路径设置为了web根目录。如果在H:\webworkspace\webProject\WebRoot目录下有一个test.html文件,启动Tomcat后我们可以直接在浏览器中输入如下地址进行访问:http://localhost:8080/test.html
如果我们这样设置:
7、候要注意一些问题~~ 假如我的程序根文件夹为wartest,其下有一个test.html文件。如果我这样打包: jar -cvf testwar.war wartest 然后把生成的testwar.war复制到webapps目录下。用浏览器访问如下URL: http://localhost:8080/testwar/test.html 浏览器会提示404错误,即找不到test.html文件。为什么呢???? 我们可能会自以为是的觉得上面的jar命令打包的是wartest下的全部内容,实际上非也~~~ 解压生成的testwar.war就会发现:testwar.war下有两个顶层文件
8、夹,其中一个便是wartest,说明打包的时候把这个根文件夹也包含在内了,所以,我们要访问到test.html,就应该如下构造URL:
http://localhost:8080/testwar/wartest/test.html
怎么解决这个问题呢?这样打包就可以了:
jar -cvf testwar.war -C wartest .
小心不要漏掉了最后面的小圆点!这样生成的testwar.war就不会包含wartest目录自身了。
部署描述符文件
9、/conf/web.xml保存了所有WEB应用程序的默认设置,所以我们如果把一个应用程序部署在webapps文件夹下,但是在该应用程序的WEB-INF下缺少了web.xml文件,仍然可以用浏览器访问到这个网站的内容,这是因为Tomcat用 10、lcome-file>
11、L,系统也会显示test.html的内容,但是如果在WEB应用程序得根目录下没有test.html这么个文件,Tomcat会返回什么内容呢???
你可能会想到此时如果没有test.html文件,Tomcat就会查找
12、写上
13、会自动发表为一个web应用的。 crossContext 的含义我没有用过,在网上找来下也没有找到,建议你看看tomcat的文档应该有的。 debug 应该是调试一个web项目的java代码时,将tomcat服务器和开发工具集成,或需要工具的一些插件支持(比如Eclipse下的myclipse等),这些方式都是在本地进行,即你的开发工具和tomcat运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远程调试功能了。 其实在一般java项目开发中都会引入log4j包,用配置的方式在开发过程中输出调试信息。如果不是有特别要求,不见建议去花时间研究它。 到时reloadable属性的设置有些用处, 当reloadable=true时,相关文件改变,Tomcat先停止web app并释放内存,然后重新加载webapp。这样以来可以省去手工部署web app工程的时间。和开发工具一起使用可以稍微提高点工作效率。






