科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道了解 Struts 框架的全新后代:Shale不是Struts3

了解 Struts 框架的全新后代:Shale不是Struts3

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Shale 不是什么?Shale 不是打包好的、有编制好的文档并经过严格测试的产品,也没有附带自动安装程序和优雅的管理界面。那么 Shale 到底是什么呢?Brett McLaughlin 在本文中将揭开这个 Struts 后代的面纱。

作者:Brett McLaughlin 来源:IT专家网 2008年6月3日

关键字: 后代 框架 Struts java

  • 评论
  • 分享微博
  • 分享邮件
构建 WAR 文件

  如果使用的 servlet 引擎要求提供 WAR 文件,那么可以使用相同的 Shale starter 应用程序的构建文件,只需略微修改一下。由于还没有为这个 Shale 应用程序编写任何 Java 文件,当您请求一个 WAR 文件时,构建脚本将出现错误(在 build.xml 中有查找文件的 JavaScript 命令,但是没有找到任何文件)。为了修复这个问题,打开 build.xml 文件,找到以 “javadoc” 开头且如下所示的代码:

<!-- ===================== Generate Documentation ======================== -->
  <target         name="javadocs" depends="compile"
           description="Create JavaDocs">

    <mkdir         dir="${build.docs.dir}"/>

    <javadoc
            sourcepath="${src.java.dir}"
               destdir="${build.docs.dir}"
                author="false"
               private="true"
               version="true"
                source="${project.source}"
          packagenames="${project.package}.*"
           windowtitle="${project.name} (Version ${project.version})"
              doctitle="${project.name} (Version ${project.version})"
                bottom="${project.copyright}">
      <classpath refid="compile.classpath"/>
    </javadoc>

    <copy        todir="${build.docs.dir}">
      <fileset     dir="${src.java.dir}"
              includes="**/*.gif"/>
    </copy>

  </target>

  现在,注释掉 javadoc 任务,如下所示:

  <!-- ===================== Generate Documentation ======================== -->
  <target         name="javadocs" depends="compile"
           description="Create JavaDocs">

    <mkdir         dir="${build.docs.dir}"/>
<
    <javadoc
            sourcepath="${src.java.dir}"
               destdir="${build.docs.dir}"
                author="false"
               private="true"
               version="true"
                source="${project.source}"
          packagenames="${project.package}.*"
           windowtitle="${project.name} (Version ${project.version})"
              doctitle="${project.name} (Version ${project.version})"
                bottom="${project.copyright}">
      <classpath refid="compile.classpath"/>
    </javadoc>
-->
    <copy        todir="${build.docs.dir}">
      <fileset     dir="${src.java.dir}"
              includes="**/*.gif"/>
    </copy>

  </target>

  一旦开始为 Shale 应用程序开发 Java 代码,便不必这样做。不过对于现在,这样做可以解决上述问题。保存修改后的 build.xml 并运行 ant dist。Ant 编译和装配 starter 应用程序,并在 dist/ 目录中创建一个新的 WAR 文件。例如,我运行 ant dist 后得到一个 dist/first-shale-0.1.war 文件。现在可以将这个 WAR 文件复制到 servlet 引擎的 webapps/ 目录。

测试安装情况

  如果完成了以上步骤,不管选择的安装路径是什么,都应该可以启动 servlet 引擎并通过地址 http://your.host.name/first-shale 访问 Shale 应用程序。例如,如果在本地机器上运行 Tomcat,那么最终可以访问的地址是 http://localhost:8080/first-shale。如果一切正常,那么应该可以看到如图 2 所示的简单页面:

点击放大此图片

  图 2. Shale starter 应用程序证明一切没问题

  看起来似乎做了这么多工作却所得甚少,但是要考虑到,通过打开并编辑一个简单的 build.properties 文件,可以避免大量繁杂的复制和配置工作。您将发现,从空白的 Shale starter 应用程序开始总是开发新的 Shale 应用程序最容易的方式。实际上,当在下一篇文章中开始开发 Shale 应用程序的时候,将使用空白的 starter 应用程序作为开始的基础。

  Shale 用例

  关于 Shale 的下载和安装就介绍到这里,不过我们还是再花点儿时间从 Shale 主下载站点下载 Shale 的用例 WAR 应用程序。找到一个文件名形如 shale-usecases-20060204.war 的文件。下载该文件,并将它放入 servlet 引擎的 webapps/ 目录,然后进入到这个 WAR。在我的系统上,访问 http://localhost:8080/shale-usecases-20060204/ 并得到如图 3 所示的屏幕:

  图 3. Shale 用例应用程序

  您应该花些时间来看看这个用例应用程序。它有关于 Shale 中 Validator 和远程报告等特性的很好的演示,并有一个简单的 Ajax 应用程序。通过浏览这些用例,您可以了解到即使是简单的 Shale 应用程序也可以做许多事情。

  不过这里要提一个忠告:有些用例仍在开发中,取决于您何时下载每晚构建,可能发现有些用例不能正常工作。不过总是可以晚些时候再下载这些用例应用程序,看看有些问题是否已经被修复。虽然存在这些小问题,但是用例应用程序仍然是取得对 Shale 的基本印象的一种好途径。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章