在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:
(3)把helloapp.war文件拷贝到 (4)删除原先的helloapp目录。
(5)启动Tomcat服务器。
Tomcat服务器启动时,会把webapps目录下的所有WAR文件自动展开为开放式的目录结构。所以服务器启动后,会发现服务器把helloapp.war展开到 2.3 配置虚拟主机
在Tomcat的配置文件server.xml中,Host元素代表虚拟主机,在同一个Engine元素下可以配置多个虚拟主机。例如,有两个公司的Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机,它们的虚拟主机名分别为:
这样当Web客户访问以上两个Web应用时,就好像这两个应用分别拥有各自的主机。此外,还可以为虚拟主机建立别名,例如,如果希望Web客户访问www.mycompany1.com或mycompany1.com都能连接到同一个Web,那么可以把mycompany1.com作为虚拟主机的别名来处理。
下面讲解如何配置www.mycompany1.com虚拟主机。
(1)打开
以上配置代码位于本书配套光盘的sourcecode/chapter2/virtualhost-configure.xml文件中。
表2-5 在 在这种情况下,Tomcat使用默认的DefaultContext。关于DefaultContext的知识可以参考Tomcat文档:
(2)把helloapp应用(helloapp.war文件或者是整个helloapp目录)拷贝到appBase属性指定的目录C:\mycompany1下。
(3)为了使以上配置的虚拟主机生效,必须在DNS服务器中注册以上的虚拟主机名和别名,使它们的IP地址都指向Tomcat服务器所在的机器。必须注册以下名字:
(4)重启Tomcat服务器,然后通过浏览器访问:http://www.mycompany1.com/helloapp/index.htm,如果返回正常的页面就说明配置成功。还可以通过虚拟机的别名来访问helloapp应用:
http://mycompany1.com/helloapp/index.htm
http://mycompany1/helloapp/index.htm
2.4 小 结
本章通过helloapp Web应用例子,介绍了在Tomcat上创建和发布Web应用的步骤。通过本章内容,读者可以学会创建Web应用的目录结构,创建web.xml文件,并且能够把HTML、Servlet、JSP和Tag Library部署到Web应用中。
此外,读者还可以掌握将整个Web应用打包并发布的方法。本章还介绍了配置虚拟主机的方法。为了便于读者编译源程序,在本书配套光盘的sourcecode/chapter2目录下提供了编译本章Java程序的脚本compile.bat,它的内容如下:
运行这个脚本时,只要重新设置以上Tomcat目录和JDK的目录即可。
在javac命令中,-sourcepath设定Java源文件的路径,-d设定编译生成的类的存放路径。javac命令的-classpath参数可以设定classpath路径,如果此项没有设定,将参照环境变量classpath的设置。
(T117)
本文节选自由飞思图书授权《Tomcat与Java Web开发技术详解》
Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件。在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到
在本例中,按如下步骤发布helloapp。
(1)进入helloapp应用的根目录
(2)把整个Web应用打包为helloapp.war文件,命令如下:
属 性
描 述
name
指定虚拟主机的名字
debug
指定日志级别
appBase
指定虚拟主机的目录,
可以指定绝对目录,
也可以指定相对于
unpackWARs
如果此项设为true,
表示将把Web应用的WAR文件先展开
为开放目录结构后再运行。
如果设为false,则直接运行WAR文件
autoDeploy
如果此项设为true,
表示当Tomcat服务器处于运行状态时,
能够监测appBase下的文件,
如果有新的Web应用加入进来,
则会自动发布这个Web应用
alias
指定虚拟主机的别名,
可以指定多个别名
deployOnStartup
如果此项设为true,
则表示Tomcat服务器启动时会自动发布appBase
目录下所有的Web应用。
如果Web应用在server.xml中
没有相应的