论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
Tomcat与Java Web开发技术详解连载之三
 作者:佚名     2007-3-14 17:11:04        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

2.2.8 创建并发布WAR文件

Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件。在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用。 在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件。如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR文件,再进行发布。

在本例中,按如下步骤发布helloapp。

(1)进入helloapp应用的根目录/webapps/helloapp。

(2)把整个Web应用打包为helloapp.war文件,命令如下:

jar cvf  helloapp.war  *.*

在JDK的bin目录下提供了打包程序jar.exe。如果要展开helloapp.war文件,命令为:

jar  xvf  helloapp.war

(3)把helloapp.war文件拷贝到/webapps目录下。

(4)删除原先的helloapp目录。

(5)启动Tomcat服务器。

Tomcat服务器启动时,会把webapps目录下的所有WAR文件自动展开为开放式的目录结构。所以服务器启动后,会发现服务器把helloapp.war展开到 /webapps/helloapp目录中。

2.3 配置虚拟主机

在Tomcat的配置文件server.xml中,Host元素代表虚拟主机,在同一个Engine元素下可以配置多个虚拟主机。例如,有两个公司的Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机,它们的虚拟主机名分别为:

www.mycompany1.com
www.mycompany2.com

这样当Web客户访问以上两个Web应用时,就好像这两个应用分别拥有各自的主机。此外,还可以为虚拟主机建立别名,例如,如果希望Web客户访问www.mycompany1.com或mycompany1.com都能连接到同一个Web,那么可以把mycompany1.com作为虚拟主机的别名来处理。

下面讲解如何配置www.mycompany1.com虚拟主机。

(1)打开/conf/server.xml文件,会发现在元素中已经有一个名为localhost的元素,可以在它的后面(即后面)加入如下元素:

<Host name="www.mycompany1.com"
debug="0" appBase="C:\mycompany1" 
unpackWARs="true" autoDeploy="true">
<alias>mycompany1.com</alias>
<alias>mycompany1</alias>

<Context path="/helloapp" 
docBase="helloapp" debug="0"
reloadable="true" />

</Host>

以上配置代码位于本书配套光盘的sourcecode/chapter2/virtualhost-configure.xml文件中。

元素的属性描述参见表2-5:

表2-5 元素的属性

属 性 描 述
name 指定虚拟主机的名字
debug 指定日志级别
appBase 指定虚拟主机的目录, 可以指定绝对目录, 也可以指定相对于的相对目录。 如果此项没有设定, 默认值为/webapps
unpackWARs 如果此项设为true, 表示将把Web应用的WAR文件先展开 为开放目录结构后再运行。 如果设为false,则直接运行WAR文件
autoDeploy 如果此项设为true, 表示当Tomcat服务器处于运行状态时, 能够监测appBase下的文件, 如果有新的Web应用加入进来, 则会自动发布这个Web应用
alias 指定虚拟主机的别名, 可以指定多个别名
deployOnStartup 如果此项设为true, 则表示Tomcat服务器启动时会自动发布appBase 目录下所有的Web应用。 如果Web应用在server.xml中 没有相应的元素, 则将采用默认的Context配置。 deployOnStartup的默认值为true

的deployOnStartup属性为true的情况下,即使你没有在server.xml中为helloapp应用加入元素,Tomcat服务器也可以自动发布和运行helloapp应用。

在这种情况下,Tomcat使用默认的DefaultContext。关于DefaultContext的知识可以参考Tomcat文档:

/webapps/tomcat-docs/config/defaultcontext.html

(2)把helloapp应用(helloapp.war文件或者是整个helloapp目录)拷贝到appBase属性指定的目录C:\mycompany1下。

(3)为了使以上配置的虚拟主机生效,必须在DNS服务器中注册以上的虚拟主机名和别名,使它们的IP地址都指向Tomcat服务器所在的机器。必须注册以下名字:

www.mycompany1.com
mycompany1.com
mycompany1

(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,它的内容如下:

set catalina_home=C:\jakarta-tomcat
set path=%path%;C:\j2sdk1.4.2\bin

set currpath=.\
if "%OS%" == 
"Windows_NT" set currpath=%~dp0%

set src=%currpath%helloapp\src
set dest=%currpath%helloapp
\WEB-INF\classes
set classpath= %catalina_home%
\common\lib\servlet-api.jar; 
%catalina_home%\common\lib\jsp-api.jar

javac -sourcepath %src% 
-d %dest%  %src%\mypack\DispatcherServlet.java
javac -sourcepath %src%  
-d %dest%  %src%\mypack\HelloTag.java

运行这个脚本时,只要重新设置以上Tomcat目录和JDK的目录即可。

在javac命令中,-sourcepath设定Java源文件的路径,-d设定编译生成的类的存放路径。javac命令的-classpath参数可以设定classpath路径,如果此项没有设定,将参照环境变量classpath的设置。

(T117)

本文节选自由飞思图书授权《Tomcat与Java Web开发技术详解》


责任编辑:lss
  相关新闻
MCSD.NET的考试70-300
我的MCSE考试经验
MCSD.NET 之70-300考试心得精彩分享
JSFToolbox--用Dreamweaver开发JSF
MCSE认证考试全程心得
MCDBA培训教材
WebWork拦截器(Interceptor)使用方法
给MCSE备考者的五点忠告
艰难PASS216,完成MCSE!!!
专家指点:MCP考试新题型一一剖析
MCSD.NET的考试70-300
我的MCSE考试经验
给MCSE备考者的五点忠告
艰难PASS216,完成MCSE!!!
MCSD.NET 之70-300考试心得精彩分享
专家指点:MCP考试新题型一一剖析
别说你的起点不够高-一名MCT的心里话
通过MCDBA证书来验证你的SQL Server水平
关于MCSE的考试顺序的一些看法
[分享]我的MCSE学习心得体会
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号