三种方法编译打包Web应用程序_Web服务评论分析_IT专家网

来源:百度文库 编辑:神马文学网 时间:2024/04/27 02:27:03

三种方法编译打包Web应用程序

作者: 王磊,  出处:IT专家网, 责任编辑: 李春禹, 2010-03-04 09:00
   应用程序开发的最后一个步骤就是对程序进行编译和打包。不同的程序开发人员可能会采用不同的编译与打包工具。笔者在这里就以Java Web应用程序为例,谈谈这其中的奥妙。

  应用程序开发的最后一个步骤就是对程序进行编译和打包。不同的程序开发人员可能会采用不同的编译与打包工具。笔者在这里就以Java Web应用程序为例,谈谈这其中的奥妙。

  一、常见的两种Web程序部署方式。

  在谈到Web应用程序编译打包的问题之前,笔者认为各位读者首先要了解常见的Web程序部署方式以及他们之间的区别。因为Web应用程序的编译打包与其部署方式是息息相关的。为此了解这其中的部署方式,对于掌握后续的内容具有很大的帮助。

  通常情况下,在Web服务器中部署Web程序有两种方法。第一种方式是直接将依照标准格式的Web程序的整个目录编译后放入Web服务器的WebApps目录。然后让Web服务器启动时自动加载Web应用程序。第二种方式是将Web程序编译并打包成一个War文件,然后放入Web服务器的WebApps目录。虽然两种部署方式最后存放的路径是相同的,但是由于其编译打包的方式不同,最后的效果也有所差异。

  笔者在这里建议大家采用第二种方式。因为将Web程序编译打包成一个War文件,能够增强Web应用程序的可移植性。这主要是因为一个War文件可以在不同类型的Web服务器中运行。也就是说,War文件即可以被微软的Web服务器所调用,也可以被开源的IE服务器所使用。其具有比较强的跨平台性能,故其移植性比较好。另外一个特点就是,War文件由于采用了压缩机制,所以其文件比较小。在实际工作中,Web应用程序往往会大家共享。此时当需要将Web程序给与其他开发人员的时候,给对方一个War文件显然比给对方一个目录来的方便。

  不过采用这种方式也有一个缺陷。因为编译生成一个War文件需要对相关的目录进行压缩。如果在以后需要对这个应用程序进行调整或者升级的话,那么就需要先解压缩,然后再进行编译。可见对于需要经常更改的应用程序或者还是处在调试阶段的Web程序,采用这种方式会比较麻烦。

  二、使用Ant编译和打包JavaWeb应用程序。

  使用Ant编译和打包Web应用程序,这是笔者最喜欢使用的一种方式,也是目前被广泛使用的程序编译和管理工具。这个编译工具与其他手段相比,最大的特点就是使用一个XML文件来设置程序运行的步骤。虽然其需要一个额外的中间文件,但是真是这个文件提高了程序编译的灵活性。这主要是因为XML格式的文件通用性比较高,而且也方便易懂。为此并不会给应用程序编译增加多大的难度。相反,程序开发人员可以编写自己的XML文件,在应用程序编译过程中实现多种灵活的功能。

  Ant编译工具本身是比较简单的,主要的内容就是这个XML文件的编写。由于这个XML文件具有通用性,为此笔者建议在使用这个文件之前,最好在这个文件上下一定的功夫。反正以后开发其它的应用程序仍然可以用到这个文件。为此彻底了解这个文件,并学会灵活的使用还是有必要的。对于初入门的用户,最快的方式就是学会阅读其它前辈编写的XML文件,并从中吸收好的内容。

  在使用这个Ant工具比较容易犯的错误是在使用之前没有设置好路径。通常情况下,开发人员需要在Path环境变量中定义Ant的指令路径。如果是在微软的操作系统中,可以在“我的电脑”、“属性”、“高级”、“环境变量”中,找到Path环境变量,并将Ant的指令路径加入进去即可。

  三、使用编程工具进行编译和打包。

  在讲到Web程序部署方式的时候,笔者谈到过可以采用War文件的格式进行部署。此时就可以采用编程工具进行编译和打包。通常情况下,一个War文件就是一个具有特定格式的Jar文件。它将一个Web应用程序的所有相关内容进行压缩。在生成War文件的时候,有以下两方面的内容需要引起读者的重视。

  首先,在生成War文件之前,需要先对Web-Inf/classes目录下面的相关类进行编译,并且编译过程中不能够出现错误。比较简单的方法就是先使用Javac命令对相关的类进行编译。编译成功之后再使用工具对其进行打包处理,生成一个War文件。

  其次需要注意的是,需要设置ClassPlath环境变量。如果这个变量设置不当的话,可能会导致应用程序运行异常。一般来说,最好在这个环境变量中包含最新的Servlet和JSP的JAR。这可以提高应用程序的灵活性,而且功能也会比较完备。

  在这里笔者推荐一个编程工具,即IDE。这是一个具有Web程序管理功能的开发工具,能够比较高效的编译并对Web应用程序进行打包。对于大型的Java Web应用程序来说,通过IDE等编译工具进行编译并打包,统一管理类和各种Java文档,是一个明智的选择。不过不同公司出产的IDE产品,在功能上会有细微的差别。不过这并不影响最终的使用。

  四、可以使用Web服务器的deploytool工具进行打包。

  以上两种工具虽然使用比较方便,但是具有一定的专业性。特别是有些工作需要在命令行的方式下完成。为此对于初学者来说,具有一定的难度。在实际工作中,对于初学者或者不经常接触这块内容的用户来说,笔者推荐的是使用Web服务器的Deploytool工具对Web应用程序进行打包。

  这些工具就好像是一个向导,一步步的帮助开发人员对相关的Web应用程序进行打包。换一句话说,这些工具主要就是帮助开发人员设置Web.xml 内容并生成和管理War文件。有些人也将这种方式叫做傻瓜式编译方式。在整个打包过程中,基本上不需要使用命令行命令。通过其向导的提示一步步的操作,就可以顺利的完成对应用程序的打包工作。

  另外这个工具还有其它的用途。如程序开发人员从其他同事或者朋友那边拿到了一个编译打包成功的一个War文件。那么这个文件是否可以用呢?开发人员需要对这个文件进行测试。此时就可以采用这个Web服务器的Deploytool工具来进行判断。也就是说,这个工具可以分析Web服务器中的War文件是否有问题,能否正常工作。在实际工作中,如果需要用到其它人开发的War文件,这个步骤就比较重要,需要借助这个工具来测试其兼容性。

  哪种编译与打包工具对程序人员更加适合呢,或者说哪一种编程工具更甚一筹呢?这个没有统一的定义。程序开发人员可以根据自己的需要或者习惯来选择使用一种工具,也可以几种工具结合使用。

  最后有一点笔者要提醒一下。在实际工作中,虽然有时候可以直接到Web程序中修改Web.xml来调整应用程序。但是这只限于高手。这就好象以前可以通过电话机来开发一个简单的Win98操作系统一样,往往只有传说中的高手才能够完成。像笔者这种半个专家的专家,必须要借助相关的工具才能够对程序进行编译并打包。笔者也强烈建议这么做。借助比较专业的编译与打包工具,可以提高程序编译的效率与应用系统的稳定性。

三种方法编译打包Web应用程序_Web服务评论分析_IT专家网 “软件2.0”正在发生的技术革命_Web服务评论分析_软件_IT专家网 业务服务的具体抽象概念_业务服务的具体抽象概念_Web服务评论分析_SOA_IT专家网 经典定义:究竟什么是Web 2.0?_Web服务评论分析_Web2.0_TechTarge... 安全实例:僵尸网络模型分析及解决方案_评论分析_IT技术_IT专家网 Google郭去疾:Google眼中的社区和Web2.0_Web服务新闻_互联网_IT专家... 安全实例:僵尸网络模型分析及解决方案_评论分析_IT技术_IT专家网1 APC构建高效企业白皮书_SMB评论分析_评论_IT专家网 专家答疑:政府部门CIO在工作场所如何部署Web2.0_CIO评论分析_信息化_IT专家网 陈一舟论道Web2.0 Facebook为何值$150亿?_Web服务评论分析_互联网_I... 忘掉web2.0,抓住web3.0--Web服务评论分析 JavaOne大会热点之JBI篇_web服务子站_JBI_TechTarget IT专家网 构建SOA安全技术_构建SOA安全技术_Web服务技巧_SOA_IT专家网 构建SOA安全技术_构建SOA安全技术_Web服务技巧_SOA_IT专家网 用 SLA 保证第二代 Web 服务应用程序 用 SLA 保证第二代 Web 服务应用程序 将Java应用程序本地编译为EXE的几种方法 将Java应用程序本地编译为EXE的几种方法 浅谈中国移动MM(Mobile Market)“三围”_网络子站_评论_IT专家网 用六大代码问题检验你的Java知识能力_Web服务技巧_Java_TechTarget IT专家网 理解SOA数据集成生命周期_理解SOA数据集成生命周期_Web服务技巧_SOA_IT专家网 提高Ajax应用程序性能,避开Web服务漏洞 web打印,web打印控件的三种实现方法 C#动态调用Web服务的3种方法