频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

3.3.3 在Tomcat中部署Web应用

作者: Kevin Mukhar Chris Zelenak James L.Weaver Jim Cru. 出处:机械工业出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-05-28 11:14
关 键 词:Tomcat  部署  Web应用  指南  Java EE 5 开发指南
阅读提示:《Java EE 5 开发指南》第3.3.3节“在Tomcat中部署Web应用”主要介绍在单机的Tomcat中部署应用是很容易的,只需要写一个XML文件,即部署描述文件(deˉployment descriptor)。而Java EE服务器也同样需要这么一个文件,只是它的部署工具为我们创建了这个文件,所以不需要我们手工编写,供大家参考!

在单机的Tomcat中部署应用是很容易的,只需要写一个XML文件,即部署描述文件(deˉployment descriptor)。而Java EE服务器也同样需要这么一个文件,只是它的部署工具为我们创建了这个文件,所以不需要我们手工编写。

技巧:关于如何详细使用Tomcat,请参考Matthew Moodie著的《精通Jakarta Tomcat5》(Pro Jakarta Tomcat5)(2004年Apress出版,ISBN1ˉ59059ˉ331ˉ6)。

部署描述文件是一些XML格式的文件,它们包含了整个Web应用的配置信息。本书第4章将对部署描述文件做更详细的阐述。清单3ˉ5是本章Java FAQ应用的部署描述文件,文件名是Web.xml,它位于应用的WEBˉINF目录下。

     清单3ˉ5 Java FAQ组件的Web.xml文件

 

如果Java EE服务器正在运行,那么停止它并且启动Tomcat服务器。如果已在Tomcat的/Webapps目录下创建了本章前面所介绍的如图3ˉ2的目录结构,那么工作已经基本完成。如果应用的目录不在Tomcat的/Webapps目录下,那么只需简单地把目录结构复制到该目录下即可。还有一种方案,你可以转到该Web应用的顶层目录下(例如,如果该应用的最高层目录是/Jsp Ex01,则转到这个目录下),用命令“jar cf Jsp Ex01.warˇ”手动创建WAR(Web Archive)文件,然后把这个.war文件复制到Tomcat的/Webapps目录下。

打开浏览器窗口输入相应的地址,比如http://localhost:8080/Jsp Ex01,浏览器将下载显示welcome.jsp文件,如图3ˉ8所示。

提示:如果没有出现welcome页面,首先检查服务器是否运行正常。在输入默认的URL网址(比如http://localhost:8080)后,若出现一个有效的页面则是正常的。如果服务器正常运行,你可能遇到解释或编译问题。下一节将讨论怎样处理那些解释和编译的问题。

对于部署在单机Tomcat服务器上的每个Web应用,都需要为它编写一个部署描述文件,下面让我们来看看这个例子的Web.xml文件包含哪些内容。这个文件一开始是标准的XML声明和<Webˉapp>根元素,其中包括与结构(schema)声明相关的属性,这个schema声明可以在任何JSP部署描述文件中使用。

接下来是文件的XML内容。这个文件中有3个元素:一个displayˉname元素;一个包含JSP相关的信息的servlet元素;还有一个welcomeˉfileˉlist元素。

第一个displayˉname元素为Web应用设置一个易用好记的名称。用Web应用工具可以显示这个名称。例如Tomcat就包含一个管理工具的页面,直接在Tomcat的本地主页上(http://localhost:8080/)就可以链接到它。这个管理页面将列出这个服务器上已部署的所有Web组件的显示名称(displayˉname)。Sun的Java EE服务器也有一个管理页面(http://localhost:4848),如图3ˉ9所示,其中的部署描述符的显示名称(displayˉname)就是Web应用的名称。

图3ˉ9 这个Web Application页面是Sun应用服务器的管理工具页面,图中所示是已经部署到服务器的应用。在部署描述文件中的显示名称(displayˉname)字段相当于页面中的Application Name字段

第二个servlet元素包含了关于Web应用的JSP或Servlet的信息。本章随后将讲到,服务器会把JSP源文件转换成Servlet文件,并且JSP页面的实现类是一个Servlet。因为这一原因这个元素命名为servlet,而不是JSP。

最后一个元素是welcomeˉfileˉlist。这个元素列出了一些文件,客户端通过在浏览器中输入应用的环境(context)标识来访问它们,而不是输入在应用中的实际资源。这些文件都称为欢迎文件(welcome files)。例如,一个URL地址http://locahost:8080/Jsp Ex01,它并不指向Web组件中的资源。任何人输入这样的一个URL,都可以访问列表中的某个欢迎文件。如果列表中有多个文件,那么服务器将返回第一个被找到的欢迎文件。

提示:本章介绍这个例子用到的部署描述文件的一些元素,在第6章,我们将具体解释部署描述文件。另外还可以在Tomcat的文档、JSP和Servlet的规范中找到更多有关部署描述文件的信息。

当浏览器载入欢迎页面时,你可能看到页面的链接并没有直接指向实际的文件。如果点击这些链接,浏览器可能会显示一个HTTP404的错误。但是我们并没有看到错误处理的页面,原因是没有找到服务器上的资源,而且该错误属于页面中无法捕获的异常。

注意:根据Servlet2.4规范,部署描述文件中的元素可以按任何顺序出现。例如清单3ˉ5中的部署描述文件,如果把welcomeˉfileˉlist元素作为该文件的第一个元素,那么这个Web应用仍然可以正常工作。但是,在早期版本的Servlet和JSP规范中,部署描述文件的元素必须符合文档类型定义(DTD)(JSP1.2及其更早版本)或者XML Schema(JSP2.0)中规定的顺序,否则将无法运行该应用。如果服务器只支持Servlet2.3或JSP2.0(或者更早版本),那么需要从规范中查找到相应部署描述文件元素的正确顺序。

若该应用实际部署到Tomcat服务器,则需要把这些文件复制到Tomcat的/webapps目录下。如果不想把这些文件直接放到该目录下,可以把它们打包成一个WAR文件,然后再部署。

一般的Web应用都包含许多文件和组件,而WAR文件正是一种方便组织文件的方法,它把这些文件打包成一个WAR(Web Archive)文件。所有的JSP容器都能够从WAR文件读取和部署Web应用。因此部署应用程序就变得容易了,只要创建一个具有正确的应用目录结构的文档包,然后把它放到容器中相应的目录下就可以了。Servlet规范定义了Web应用程序的WAR文件的目录结构。同样规范还定义了部署描述文件。当我们使用Sun Java EE这样的部署工具时,它会为我们创建好相应的目录结构和部署描述文件。当我们在单机服务器(如Tomcat)上部署时,就需要手工来处理这些事宜了。

总之,应用的结构应该类似于下面的例子:

顶层目录定义了Web应用的环境(context)。每个不同的Web应用都有其单独的应用环境。在应用环境目录下是该应用公开的文件,通常包括应用的HTML页面和JSP页面。在应用环境下还有WEBˉINF目录,此目录包含了部署描述文件(web.xml)和其他的非公开的文件,所以应用的客户端不能直接访问这些文件。在WEBˉINF目录下还有几个目录,最常见的三个是tlds、lib和classes。其中的tlds目录不是必须的,通常用它存放一些标签库文件(参考第4章)。lib目录用来存放Web应用所用到的Java库文件(.jar文件)。最后一个classes目录用于存放Web应用的类文件。

【责任编辑:大海 TEL:(010)68476606-8007】

回书目   上一节   下一节
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有