本文将使用 Apache Tomcat 作为示例 servlet 容器,因为它应用广泛,而且又可免费获得。其他 servlet 容器的表现与之类似。通常将是部署到现有服务器上;但如果不是,本文末尾的参考资料 部分中的链接将告诉您 Tomcat 的下载位置。如果运行的是 Microsoft Windows 操作系统,Tomcat 有一个相对易用的面向 Windows 的二进制安装程序。如果是在 Mac 或 UNIX 系统上,有一个可以提取并置于方便位置(通常是 /usr/local)的已编译版本;设置了一些环境变量后,您就可以继续学习了。
编辑客户机代码
宽泛地讲,在 Tomcat 中部署 GWT 应用程序有两个步骤:
收集所有必需的文件并将其置于 Tomcat 可以查看的位置。
使 Tomcat 了解从 GWT 页面调用的所有服务器端操作。
过程比设想的要多几个步骤,并且截至本文完稿时还没有官方方法可以将这几个步骤自动化。我在这里描述了手动过程。但是,当您读到本文时,可能已经有更健壮的工具支持部署。
定位到 Tomcat 的安装根目录。在该目录的下一级目录中,您会看到名为 webapps 的子目录。在 Tomcat servlet 容器内运行的每个应用程序都将从那里获得应用程序本身的目录。因此在 webapps 内创建一个名为 slicr 的目录。Java 服务器端应用程序的结构是按照 servlet 标准设定的,并且所有 servlet 运行程序都应当支持同一种结构。
在 slicr 目录内,创建一个名为 WEB-INF 的子目录 —— 是的,一定要大写。
将 GWT 编译的JavaScript 页面和正常编译的Java 类移至 slicr 目录。我将先展示如何创建 Java 类。
使用集成开发环境 (IDE)、Apache Ant 或者您希望使用的工具正常编译 Java 代码。此时有很多选择:
最快捷的选择是将整个 .class 文件树复制到 Tomcat 子目录 webapps/slicr/WEB-INF/classes,运行时 Tomcat 将把 webapps 目录的类路径变量自动置入该子目录中。
另一种方法是:可以使用您喜爱的工具把已编译的类转换为 JAR 文件,然后将 JAR 文件放入 webapps/slicer/WEB-INF/lib 目录。此外,Tomcat 将把 JAR 文件放入类路径变量的该目录中。