数据源使用入门

本部分将介绍 SimpleExampleServlet,它是库提供的最简单的数据源实现示例。本部分还提供了有关如何运行和测试 SimpleExampleServlet 的分步说明。

简介 SimpleExampleServlet

SimpleExampleServlet 类位于 examples 软件包中。此类提供了一个最简单的数据源实现示例。SimpleExampleServlet 继承自 DataSourceServlet,实现了 generateDataTable(),并且必须在 servlet 容器中运行。

下面提供了 SimpleExampleServlet 的代码段。generateDataTable 函数向库公开数据。此函数会创建数据表说明,定义数据表列,并使用数据填充数据表。 库会处理将数据表返回到查询可视化图表所需的所有其他操作。

// This example extends DataSourceServlet
public class SimpleExampleServlet extends DataSourceServlet {

  @Override
  public DataTable generateDataTable(Query query, HttpServletRequest request) {
    // Create a data table,
    DataTable data = new DataTable();
    ArrayList cd = new ArrayList();
    cd.add(new ColumnDescription("name", ValueType.TEXT, "Animal name"));
    cd.add(new ColumnDescription("link", ValueType.TEXT, "Link to wikipedia"));
    cd.add(new ColumnDescription("population", ValueType.NUMBER, "Population size"));
    cd.add(new ColumnDescription("vegeterian", ValueType.BOOLEAN, "Vegetarian?"));

    data.addColumns(cd);

    // Fill the data table.
    try {
      data.addRowFromValues("Aye-aye", "http://en.wikipedia.org/wiki/Aye-aye", 100, true);
      data.addRowFromValues("Sloth", "http://en.wikipedia.org/wiki/Sloth", 300, true);
      data.addRowFromValues("Leopard", "http://en.wikipedia.org/wiki/Leopard", 50, false);
      data.addRowFromValues("Tiger", "http://en.wikipedia.org/wiki/Tiger", 80, false);
    } catch (TypeMismatchException e) {
      System.out.println("Invalid type!");
    }
    return data;
  }
}

运行和测试 SimpleExampleServlet

本部分提供了有关如何运行和测试 SimpleExampleServlet 的说明。

如果您尚未这样做,请参阅安装部分 ,了解有关前提条件的信息,以及有关如何下载 和构建库的说明。确保您安装了同时充当 servlet 容器的网络服务器(例如 Apache Tomcat),如果您系统上还没有此类服务器。本部分中的说明专门针对 Windows 系统上的 Apache Tomcat。

如需运行和测试 SimpleExampleServlet,请创建一个运行 SimpleExampleServlet 数据源的 Web 应用,然后运行一个示例网页,其中包含一个可视化图表,用于显示从数据源查询的数据。以下部分对此进行了介绍:

在 Apache Tomcat 上创建 Web 应用

请按照或调整以下说明在 Apache Tomcat 上创建 Web 应用 。这些说明专门针对 Windows 系统上的 Apache Tomcat:

  1. 前往安装 Tomcat 的目录。本文档中将其写为 <tomcat_home>
     
  2. 前往 webapps 子目录。
     
  3. 创建一个名为 myWebApp 的子目录。
     
  4. 切换到刚刚创建的子目录,然后创建另一个名为 WEB-INF 的子目录。
     
  5. 切换到 WEB-INF 子目录,然后创建另一个名为 lib 的子目录。
    完整路径应为 <tomcat_home>/webapps/myWebApp/WEB-INF/lib
     
  6. web.xml<data_source_library_install>/examples/src/html 复制到 WEB-INF 目录。其中 <data_source_library_install> 是 安装数据源库的目录。 web.xml 中的以下行定义并映射了 SimpleExampleServlet
    <servlet>
      <servlet-name>My Servlet</servlet-name>
      <description>My servlet description.</description>
      <servlet-class>SimpleExampleServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
      <servlet-name>My Servlet</servlet-name>
      <url-pattern>/simpleexample</url-pattern>
    </servlet-mapping>
  7. 前往安装数据源库的目录。 本文档中将其写为 <data_source_library_install>
     
  8. 将所有依赖项软件包 复制到 <tomcat_home>/webapps/myWebApp/WEB-INF/lib。除非您将软件包放在其他目录中,否则它们会安装在 <data_source_library_install>/lib 中。
     
  9. 如果您自己构建了库,请将 visualization-datasource-1.0.2.jarvisualization-datasource-examples.jar
    <data_source_library_install>/build
    复制到 <tomcat_home>/webapps/myWebApp/WEB-INF/lib

    如果您已解压缩 zip 文件,请将 visualization-datasource-1.0.2.jarvisualization-datasource-examples.jar
    <data_source_library_install>
    复制到 <tomcat_home>/webapps/myWebApp/WEB-INF/lib
    请注意,jar 文件名中的版本号可能会因最新版本号而异。
  10. 启动 Tomcat,如果 Tomcat 已在运行,请将其重启。
     
  11. 点击以下链接:

    http://localhost:8080/myWebApp/simpleexample

    屏幕会显示 6-7 行文本,具体取决于屏幕宽度。
    文本以 google.visualization.Query.setResponse 开头,以 /Tiger'},{v:80.0},{v:false}]}]}}); 结尾。

    这是数据源返回给查询可视化图表的数据。

使用可视化图表查看数据

可以使用 <data_source_library_install>/examples/src/html 目录 中的 getting_started.html 文件查看数据的可视化图表。以下行取自 getting_started.html,用于指定 要使用的 servlet。servlet 映射是在 创建 在 Apache Tomcat 上创建 Web 应用的第 8 步中设置的。

var query = new google.visualization.Query('simpleexample');

如需详细了解如何指定可视化图表和使用 查询语言,请参阅使用 图表查询语言 参考

请按照或调整以下说明查看数据源提供的数据的可视化图表:

  1. getting_started.html 文件从 <data_source_library_install>/examples/src/html 目录
    复制到 <tomcat_home>/webapps/myWebApp/ 目录。
     
  2. 点击以下链接 http://localhost:8080/myWebApp/getting_started.html, 您应该会看到以下内容:
     


    就是这样!您已设置第一个数据源。

后续步骤

下一个示例在“使用外部数据存储区 ”部分中进行了介绍。或者 您可以返回简介,或 探索以下链接: