本部分将介绍 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(); ArrayListcd = 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:
- 前往安装 Tomcat 的目录。本文档中将其写为
<tomcat_home>。
- 前往
webapps子目录。
- 创建一个名为
myWebApp的子目录。
- 切换到刚刚创建的子目录,然后创建另一个名为
WEB-INF的子目录。
- 切换到
WEB-INF子目录,然后创建另一个名为lib的子目录。
完整路径应为<tomcat_home>/webapps/myWebApp/WEB-INF/lib。
- 将
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>
- 前往安装数据源库的目录。
本文档中将其写为
<data_source_library_install>。
- 将所有依赖项软件包
复制到
<tomcat_home>/webapps/myWebApp/WEB-INF/lib。除非您将软件包放在其他目录中,否则它们会安装在<data_source_library_install>/lib中。
- 如果您自己构建了库,请将
visualization-datasource-1.0.2.jar和visualization-datasource-examples.jar
从<data_source_library_install>/build
复制到<tomcat_home>/webapps/myWebApp/WEB-INF/lib。
如果您已解压缩 zip 文件,请将visualization-datasource-1.0.2.jar和visualization-datasource-examples.jar
从<data_source_library_install>
复制到<tomcat_home>/webapps/myWebApp/WEB-INF/lib。
请注意,jar 文件名中的版本号可能会因最新版本号而异。
- 启动 Tomcat,如果 Tomcat 已在运行,请将其重启。
- 点击以下链接:
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');
如需详细了解如何指定可视化图表和使用 查询语言,请参阅使用 图表和查询语言 参考。
请按照或调整以下说明查看数据源提供的数据的可视化图表:
- 将
getting_started.html文件从<data_source_library_install>/examples/src/html目录
复制到<tomcat_home>/webapps/myWebApp/目录。
- 点击以下链接 http://localhost:8080/myWebApp/getting_started.html,
您应该会看到以下内容:

就是这样!您已设置第一个数据源。
后续步骤
下一个示例在“使用外部数据存储区 ”部分中进行了介绍。或者 您可以返回简介,或 探索以下链接:
- 如需了解库中最常用的类, 请参阅关键类。
- 如需查看如何实现您自己的事件流和查询 功能的示例,请参阅定义功能和事件流。
- 如果您不想继承自
DataSourceServlet,可以按照 使用 您自己的 Servlet 中的说明实现数据源。例如,如果您从另一个类继承了 servlet,则可能不想继承自DataSourceServlet。 - 如果您不想使用 servlet,请参阅实现非 servlet 数据源。
- 如需了解如何将参数从应用传递到数据
源,请参阅将参数传递给
DataTableGenerator.generateDataTable。